知识库

错误解释 "java.lang.NoClassDefFoundError: org/apache/spark/sql/sources/v2/ReadSupport"

在 Neo4j 4.x 中,如果您使用 Databricks 运行时的 Spark 和 neo4j-spark-connector,在尝试通过 spark-connector 读取或写入 Neo4j 时,可能会遇到以下错误之一。

java.lang.NoClassDefFoundError: org/apache/spark/sql/sources/v2/ReadSupport

或者

java.lang.ClassNotFoundException: Failed to find data source: org.neo4j.spark.DataSource

一种可能的解释是您使用了不兼容的连接器,或者是自行构建的连接器,而出现了问题。

要解决此问题,请执行以下操作

  1. 从 Databricks UI 中删除所有现有的 neo4j_connector JAR 包。

  2. 添加与 Spark 和 Scala 运行时匹配的相应 JAR 包。您无需自行编译,而是可以从以下地址下载制品:https://github.com/neo4j-contrib/neo4j-spark-connector/releases

供参考——为帮助您确定正确的 JAR 包,我们提供了兼容性矩阵:/developer/spark/overview/#_compatibility

© . This site is unofficial and not affiliated with Neo4j, Inc.