【问题标题】:NoSuchMethodError while creating spark session创建火花会话时出现 NoSuchMethodError
【发布时间】:2021-10-21 20:43:31
【问题描述】:

我是新来的火花。我只是想在本地创建一个 spark 会话,但出现以下错误:

Exception in thread "main" java.lang.NoSuchMethodError: org.apache.spark.internal.config.package$.SHUFFLE_SPILL_NUM_ELEMENTS_FORCE_SPILL_THRESHOLD()Lorg/apache/spark/internal/config/ConfigEntry;
    at org.apache.spark.sql.internal.SQLConf$.<init>(SQLConf.scala:1011)
    at org.apache.spark.sql.internal.SQLConf$.<clinit>(SQLConf.scala)
    at org.apache.spark.sql.internal.StaticSQLConf$.<init>(StaticSQLConf.scala:31)
    at org.apache.spark.sql.internal.StaticSQLConf$.<clinit>(StaticSQLConf.scala)
    at org.apache.spark.sql.SparkSession$Builder.getOrCreate(SparkSession.scala:938)

类似的错误已在此处发布:Error while using SparkSession or sqlcontext

我对 spark-core 和 spark-sql 使用相同的版本。这是我的 build.sbt:

libraryDependencies += ("org.apache.spark" %% "spark-core" % "2.3.1" % "provided")
libraryDependencies += ("org.apache.spark" %% "spark-sql" % "2.3.1" % "provided")

我使用的是 scala 版本 2.11.8。 有人可以解释为什么我仍然收到此错误以及如何纠正它吗?

【问题讨论】:

  • 您确定在您的项目中使用的 SparkScala 版本与您要运行的集群中安装的版本相同吗?
  • 我在本地运行代码
  • 嗯,这没有多大意义。你能创建一个重现问题的小型公共仓库吗?
  • @shady_vaib 即使您在本地安装了 Spark,您也需要确保 Spark 版本与您正在安装的 spark 依赖项匹配(即 2.3.1)。做spark-shell --version看看你有哪个spark版本
  • 是的,我的 spark 版本出了点问题。我在 spark 中的本地版本是 3.x。非常感谢您帮助人们。

标签: scala apache-spark


【解决方案1】:

如果您在日志中看到类似 Lorg/… 的 NoSuchMethod 错误,通常是由于 Spark 版本不匹配。您的系统中是否安装了 Spark 2.3.1?确保依赖项与本地或集群的 Spark 版本匹配。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-09-22
    • 1970-01-01
    • 2017-04-27
    • 2017-02-26
    • 2015-12-16
    • 2018-04-20
    • 1970-01-01
    • 2020-07-25
    相关资源
    最近更新 更多