安装

选择正确的版本

确保匹配您环境中的 Spark 版本和 Scala 版本。这是一张兼容性表,可帮助您选择正确的连接器版本。

表 1. 兼容性表
Spark 版本 制品(Scala 2.12 制品(Scala 2.13

3.4, 3.5

org.neo4j:neo4j-connector-apache-spark_2.12:5.4.1_for_spark_3

org.neo4j:neo4j-connector-apache-spark_2.13:5.4.1_for_spark_3

3.3

org.neo4j:neo4j-connector-apache-spark_2.12:5.1.0_for_spark_3

org.neo4j:neo4j-connector-apache-spark_2.13:5.1.0_for_spark_3

不支持 3.3 之前的 Spark 版本。

在 Spark shell 中使用

该连接器可通过 Spark Packages 获取

$SPARK_HOME/bin/spark-shell --packages neo4j:neo4j-spark-connector:5.4.1-s_2.12
$SPARK_HOME/bin/pyspark --packages neo4j:neo4j-spark-connector:5.4.1-s_2.12

或通过部署到 Maven Central 的制品获取

$SPARK_HOME/bin/spark-shell --packages org.neo4j:neo4j-connector-apache-spark_2.12:5.4.1_for_spark_3
$SPARK_HOME/bin/pyspark --packages org.neo4j:neo4j-connector-apache-spark_2.12:5.4.1_for_spark_3

或者,您可以从 Neo4j 连接器页面GitHub 发布页面 下载连接器 JAR 文件,并运行以下命令启动包含该连接器的 Spark 交互式 shell

$SPARK_HOME/bin/spark-shell --jars neo4j-spark-connector-5.4.1-s_2.12.jar
$SPARK_HOME/bin/pyspark --jars neo4j-spark-connector-5.4.1-s_2.12.jar

自包含应用程序

针对非 Python 应用程序

  1. 使用应用程序的构建工具将连接器包含在您的应用中。

  2. 打包应用程序。

  3. 使用 spark-submit 运行应用程序。

对于 Python 应用程序,直接运行 spark-submit

至于 spark-shell,您可以通过 Spark Packages 或使用本地 JAR 文件运行 spark-submit。代码示例请参见 快速入门

一个最小的 build.sbt
name := "Spark App"
version := "1.0"
scalaVersion := "2.12.20"

libraryDependencies += "org.apache.spark" %% "spark-sql" % "3.5.6"
libraryDependencies += "org.neo4j" %% "neo4j-connector-apache-spark" % "5.4.1_for_spark_3"

如果您使用 sbt-spark-package 插件,请改为向您的 build.sbt 添加以下内容

scala spDependencies += "org.neo4j/neo4j-connector-apache-spark_2.12:5.4.1_for_spark_3"
一个最小的 pom.xml
<project>
  <groupId>org.neo4j</groupId>
  <artifactId>spark-app</artifactId>
  <modelVersion>4.0.0</modelVersion>
  <name>Spark App</name>
  <packaging>jar</packaging>
  <version>1.0</version>
  <dependencies>
    <dependency>
      <groupId>org.apache.spark</groupId>
      <artifactId>spark-sql_2.12</artifactId>
      <version>3.5.6</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.neo4j</groupId>
      <artifactId>neo4j-connector-apache-spark_2.12</artifactId>
      <version>5.4.1_for_spark_3</version>
    </dependency>
  </dependencies>
</project>

其他构建工具

Gradle

dependencies {
    // list of dependencies
    compile "org.neo4j:neo4j-connector-apache-spark_2.12:5.4.1_for_spark_3"
}