【发布时间】:2018-10-27 12:33:04
【问题描述】:
我是新来的火花。我只是想使用 sparksession 或 sqlcontext 解析一个 json 文件。 但是每当我运行它们时,我都会收到以下错误。
Exception in thread "main" java.lang.NoSuchMethodError:
org.apache.spark.internal.config.package$.CATALOG_IMPLEMENTATION()Lorg/apache/spark/internal/config/ConfigEntry; at
org.apache.spark.sql.SparkSession$.org$apache$spark$sql$SparkSession$$sessionStateClassName(SparkSession.scala:930) at
org.apache.spark.sql.SparkSession.sessionState$lzycompute(SparkSession.scala:112) at
org.apache.spark.sql.SparkSession.sessionState(SparkSession.scala:110) at
org.apache.spark.sql.DataFrameReader.<init>(DataFrameReader.scala:535) at
org.apache.spark.sql.SparkSession.read(SparkSession.scala:595) at
org.apache.spark.sql.SQLContext.read(SQLContext.scala:504) at
joinAssetsAndAd$.main(joinAssetsAndAd.scala:21) at
joinAssetsAndAd.main(joinAssetsAndAd.scala)
截至目前,我在 eclipse IDE 中创建了一个 scala 项目,并将其配置为 Maven 项目,并添加了 spark 和 sql 依赖项。
我的依赖:
<dependencies>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.11</artifactId>
<version>2.1.0</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-sql_2.11</artifactId>
<version>2.0.0</version>
</dependency>
</dependencies>
您能否解释一下我收到此错误的原因以及如何纠正这些错误?
【问题讨论】:
-
尝试对 spark-core 和 spark-sql 使用相同的版本。将 spark-sql 的版本更改为
2.1.0 -
分享你的代码
-
spark-sql已经需要 spark-core 作为依赖项,因此指定 spark-core 两次没有多大意义。此外,您的 maven 中的版本也不同:spark-sql = 2.0.0, spark-core = 2.1.0。 -
@L.CWI 这可能 - 几乎 100% 肯定 - 答案,请将其作为答案发布
标签: scala apache-spark apache-spark-sql spark-dataframe