错误“java.lang.NoClassDefFoundError: org/apache/spark/sql/sources/v2/ReadSupport”的解释
在使用 Neo4j 4.x、Databricks 的 Spark Run-time 以及 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
一种可能的解释是您正在使用的连接器不兼容,或者您自行构建连接器时出了问题。
要解决此问题,请执行以下操作:
-
从 Databricks UI 中移除所有现有的 neo4j_connector jar 包。
-
添加与 Spark 和 Scala 运行时都匹配的相关 jar 包。您无需自行编译。您可以从这里下载工件:https://github.com/neo4j-contrib/neo4j-spark-connector/releases
供参考 - 为了帮助您确定正确的 jar 包,我们在此提供兼容性矩阵:https://neo4j.ac.cn/developer/spark/overview/#_compatibility
此页面有帮助吗?