neo4jSpark接头工作不正常

zour9fqk  于 2021-07-09  发布在  Spark
关注(0)|答案(1)|浏览(185)

我想用1把spark graphx和neo4j集成起来
我试着按照第2步中的步骤做,但没有成功。
我应该如何处理neo4j-connector-apache-spark_2.12-4.0.0.jar文件?我把它放在spark文件夹的jar文件中。
我在bash中写道:
c:>spark\spark-3.1.1-bin-hadoop2.7\bin\spark shell--jars neo4j-connector-apache-spark2.12-4.0.0.jar
有什么建议吗?
第1次更新
我试过这个c:\spark\spark-3.1.1-bin-hadoop2.7\bin\spark shell--包neo4j-contrib:neo4j-connector-apache-spark_2.12:4.0.0
我想它有用。但当我想将Dataframe写入spark shell中person类型的节点时:

import org.apache.spark.sql.{SaveMode, SparkSession}

val spark = SparkSession.builder().getOrCreate()
import spark.implicits._

val df = Seq(
("John Doe"),
("Jane Doe")
).toDF("name")

df.write.format("org.neo4j.spark.DataSource")
.mode(SaveMode.ErrorIfExists)
.option("url", "bolt://localhost:7687")
.option("authentication.basic.username", "neo4j")
.option("authentication.basic.password", "neo4j")
.option("labels", ":Person")
.save()

这会引起错误。我该怎么办?
第2次更新
我按照3中的步骤操作,输入时会出现错误:

val neo = Neo4j(sc)

具体如下:
错误:未找到:值neo4j

9lowa7mx

9lowa7mx1#

用途:

$SPARK_HOME\bin\spark-shell --conf spark.neo4j.password=<password> --packages neo4j-contrib:neo4j-spark-connector:2.4.5-M2

而不是:

$SPARK_HOME\bin\spark-shell --conf spark.neo4j.bolt.password=<password> --packages neo4j-contrib:neo4j-spark-connector:2.4.5-M2

把这个词去掉就行了。
更新“now i want to use the following package”(现在我想使用以下程序包):

$SPARK_HOME/bin/spark-shell --packages neo4j-contrib:neo4j-connector-apache-spark_2.12:4.0.1_for_spark_3

如1所述
唯一有效的方法是以下(旧版本):

$SPARK_HOME/bin/spark-shell --packages neo4j-contrib:neo4j-spark-connector:2.4.5-M2

但是使用它,neo4jgraph.savegraph无法工作。错误是:不允许以读访问模式写入。
谢谢你的帮助。

相关问题