创建spark会话时NoSuchMethodError



我是火花新手。我只是试图在本地创建一个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)

类似的错误已经张贴在这里:错误,而使用SparkSession或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版本。有人能解释为什么我仍然得到这个错误,以及如何纠正它?

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

最新更新