我可以在 build.sbt 中为 spark 3 和 scala 2.12 获取 neo4j 的命令(依赖项)吗?
Posted
技术标签:
【中文标题】我可以在 build.sbt 中为 spark 3 和 scala 2.12 获取 neo4j 的命令(依赖项)吗?【英文标题】:Can I have the command (dependency) for neo4j in build.sbt for spark 3 and scala 2.12 please? 【发布时间】:2021-08-11 04:18:29 【问题描述】:我无法在“http://dl.bintray.com/spark-packages/maven”添加给定的“resolvers +=”Spark Packages Repo”
libraryDependencies += "org.neo4j" % "neo4j-connector-apache-spark_$scala.version" % "4.0.1_for_spark_$spark.version"
build.sbt 文件中的依赖命令。这会引发错误我可以知道正确的命令吗?
谢谢。
【问题讨论】:
【参考方案1】:不幸的是,Bintray 关闭时出现了一些问题,并且我们的依赖项返回了 Forbidden 错误。
您可以关注迁移到 Maven2 的进度here。
与此同时,您可以直接下载其中一个 JAR 并在 Scala 中使用它。
您可以在 Github release page 中找到 JAR。
你要使用的是neo4j-connector-apache-spark_2.12-4.0.2_for_spark_3.jar
【讨论】:
您好,感谢您的回复。我首先尝试使用以下命令通过 spark shell 连接: $SPARK_HOME/bin/spark-shell --jars neo4j-connector-apache-spark_2.12-4.0.1_for_spark_3.jar 然后我所做的就是在 shell 中使用以下命令。最后一个命令给我一个错误。您可以观察到有什么问题吗? *import org.apache.spark.sql.SaveMode, SparkSession *val spark = SparkSession.builder().getOrCreate() *spark.read.format("org.neo4j.spark.DataSource").option("url ", "bolt://localhost:7687").option("authentication.basic.username", "neo4j").option("authentication.basic.password", "1234").option("query", " MATCH (n:Person) WITH n LIMIT 2 RETURN id(n) as id, n.name as name").load().show() 无法连接到 localhost:7687,请确保数据库正在运行并且有可用的网络连接。在 org.neo4j.driver.internal.util.Futures.blockingGet(Futures.java:143) 在 org.neo4j.driver.internal.InternalSession.run(InternalSession.java:69) 在 org.neo4j.driver.internal.InternalSession .run(InternalSession.java:51) at org.neo4j.driver.internal.AbstractQueryRunner.run(AbstractQueryRunner.java:37) at org.neo4j.driver.internal.AbstractQueryRunner.run(AbstractQueryRunner.java:55) 好吧,我猜你有一些身份验证问题。尝试添加这个选项 .option("authentication.type", "basic")。 这与原始问题无关。在连接器存储库上打开问题或在此处提出新问题以上是关于我可以在 build.sbt 中为 spark 3 和 scala 2.12 获取 neo4j 的命令(依赖项)吗?的主要内容,如果未能解决你的问题,请参考以下文章
使用 sbt-spark-package 插件了解 build.sbt
使用 udf 的 pyspark 出错:您必须使用 Hive 构建 Spark。导出 'SPARK_HIVE=true' 并运行 build/sbt 程序集