使用 Neo4j 连接器连接 Apache Spark
本教程展示了如何使用 Neo4j 连接器连接 Apache Spark 来写入和读取 Aura 实例中的数据。
设置
-
下载 Apache Spark。
示例:Spark 3.4.1,为 Apache Hadoop 3.3 及更高版本预构建,使用 Scala 2.12。
-
下载 Neo4j 连接器 JAR 文件,确保匹配 Spark 版本和 Scala 版本。
示例:Neo4j 连接器 5.1.0,为 Spark 3.x 构建,使用 Scala 2.12。
-
解压缩 Spark 文件并启动 Spark shell,如以下示例所示
$ spark-3.4.1-bin-hadoop3/bin/spark-shell --jars neo4j-connector-apache-spark_2.12-5.1.0_for_spark_3.jar
在 Apache Spark 中运行代码
您可以通过使用 |
创建一个 Spark 会话并设置 Aura 连接凭据
import org.apache.spark.sql.{SaveMode, SparkSession}
val spark = SparkSession.builder().getOrCreate()
// Replace with the actual connection URI and credentials
val url = "neo4j+s://xxxxxxxx.databases.neo4j.io"
val username = "neo4j"
val password = ""
然后,创建 Person
类和一个 Spark Dataset
,其中包含一些示例数据
case class Person(name: String, surname: String, age: Int)
// Create example Dataset
val ds = Seq(
Person("John", "Doe", 42),
Person("Jane", "Doe", 40)
).toDS()
将数据写入 Aura
// Write to Neo4j
ds.write.format("org.neo4j.spark.DataSource")
.mode(SaveMode.Overwrite)
.option("url", url)
.option("authentication.basic.username", username)
.option("authentication.basic.password", password)
.option("labels", ":Person")
.option("node.keys", "name,surname")
.save()
然后,您可以使用 Neo4j 浏览器查询和可视化数据。
您还可以从 Aura 读取数据
// Read from Neo4j
val data = spark.read.format("org.neo4j.spark.DataSource")
.option("url", url)
.option("authentication.basic.username", username)
.option("authentication.basic.password", password)
.option("labels", "Person")
.load()
// Visualize the data as a table
data.show()
有关如何使用连接器的更多信息,请阅读 Neo4j Spark 连接器文档。