【问题标题】:neo4j spark connector doesn't work correctlyneo4j 火花连接器无法正常工作
【发布时间】:2021-06-28 04:09:58
【问题描述】:

我想使用 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-spark_2.12-4.0.0.jar

有什么建议吗?

更新编号。 1

我试过这个 C:\Spark\spark-3.1.1-bin-hadoop2.7\bin\spark-shell --packages neo4j-contrib:neo4j-connector-apache-spark_2.12:4.0.0

我认为它有效。但是当我想在 spark-shell 中将 DataFrame 写入 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

【问题讨论】:

    标签: apache-spark neo4j


    【解决方案1】:

    用途:

    $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
    

    只需删除 bolt 字即可。

    更新' 现在我想使用以下包:

    $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 不起作用。错误是:不允许以读访问模式写入。

    感谢您的帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-24
      • 2018-04-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-13
      • 2016-12-09
      相关资源
      最近更新 更多