【问题标题】:Error while using SparkSession or sqlcontext使用 SparkSession 或 sqlcontext 时出错
【发布时间】: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


【解决方案1】:

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

【讨论】:

  • 我从过去 2 天开始一​​直在解决这个问题。它真的很好用。 **谢谢**
  • 你能告诉我这个问题的解决方案是什么,因为我面临同样的问题。
猜你喜欢
  • 2019-03-31
  • 2017-10-03
  • 2020-10-16
  • 1970-01-01
  • 2018-08-24
  • 2020-11-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多