使用SparkSession或sqlcontext时出现错误。

3

我是新手,想使用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>

请问您能否解释一下为什么我会收到这个错误,并说明如何纠正它们?


3
尝试使用相同的版本号,即将spark-sql的版本更改为2.1.0 - L. CWI
分享你的代码 - Balaji Reddy
1
spark-sql 已经作为依赖项需要 spark-core,因此指定两次 spark-core 没有太多意义。此外,在您的 Maven 中版本不同:spark-sql = 2.0.0spark-core = 2.1.0 - dk14
@L.CWI 这很可能是 - 几乎可以确定 - 一个答案,请将其发布为答案。 - T. Gawęda
1个回答

18

尝试使用相同版本的 spark-core 和 spark-sql。将 spark-sql 的版本更改为 2.1.0


我已经在这个问题上工作了两天。它真的很好地解决了。谢谢你。 - Lily
你能告诉我这个问题的解决方案吗?因为我也遇到了同样的问题。 - Pelab

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接