【发布时间】: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。 有人可以解释为什么我仍然收到此错误以及如何纠正它吗?
【问题讨论】:
-
您确定在您的项目中使用的 Spark 和 Scala 版本与您要运行的集群中安装的版本相同吗?
-
我在本地运行代码
-
嗯,这没有多大意义。你能创建一个重现问题的小型公共仓库吗?
-
@shady_vaib 即使您在本地安装了 Spark,您也需要确保 Spark 版本与您正在安装的 spark 依赖项匹配(即 2.3.1)。做
spark-shell --version看看你有哪个spark版本 -
是的,我的 spark 版本出了点问题。我在 spark 中的本地版本是 3.x。非常感谢您帮助人们。
标签: scala apache-spark