线程“主”中的异常java.lang.NoSuchMethodError:scala.Predef $ .refArrayOps([Ljava / lang / Object;)Lscala / collection / mutable / ArrayOps

阿尔里奥

当我在终端中运行时:

sudo spark-submit --master local --class xxx.xxxx.xxx.xxxx.xxxxxxxxxxxxJob --conf'spark.driver.extraJavaOptions = -Dconfig.resource = xxx.conf'/ home / xxxxx / workspace / prueba / pruebas / target / scala-2.11 / MiPrueba.jar

我收到以下错误:

线程“主”中的异常java.lang.NoSuchMethodError:scala.Predef $ .refArrayOps([Ljava / lang / Object;)Lscala / collection / mutable / ArrayOps; 
    在pureconfig.DurationUtils $ .words(DurationUtils.scala:36)
    在pureconfig.DurationUtils $ .pureconfig $ DurationUtils $$ expandLabels(DurationUtils.scala:38)
    在pureconfig.DurationUtils $$ anonfun $ 2.apply(DurationUtils.scala:53)
    位于pureconfig.DurationUtils $$ anonfun $ 2.apply(DurationUtils.scala:53)
    位于scala.collection.immutable.List.flatMap(List.scala:338)
    位于pureconfig.DurationUtils $。(DurationUtils.scala:53)
    位于pureconfig。 DurationUtils $。(DurationUtils.scala)
    位于pureconfig.DurationReaders $ class。$ init $(BasicReaders.scala:114)
    在pureconfig.ConfigReader $。(ConfigReader.scala:121) 
    。(ConfigReader.scala)
    在xxx.xxxx.xxx.xxxx.config.package $ Config $ .load(package.scala:67)
    在xxx.xxxx.xxx.xxxx.job.xxxxJob $ class.main(XXXxxx.scala:23)
    at xxx.xxxx.xxx.xxxx ...... Job $ .main(Xxxxxxxxxxxx.scala:19)
    at xxx.xxxx.xxx.xxxx..main(XXXXXXxxxxx.scala )
    在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法
    在java.lang.reflect处在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    org.apache.spark.deploy.JavaMainApplication.start上的Method.invoke(Method.java:498)(SparkApplication.scala:52)
    在org.apache.spark.deparky.SparkSubmit.doRunMain $ 
    1(SparkSubmit.scala:167)上的org.apache.spark.deploy.SparkSubmit.org $ apache $ spark $ deploy $ SparkSubmit $$ runMain(SparkSubmit.scala:849 
    在org.apache.spark.deploy.SparkSubmit.submit(SparkSubmit.scala:195)
    在org.apache.spark.deploy.SparkSubmit.doSubmit(SparkSubmit.scala:86)
    在org.apache.spark.deploy.SparkSubmit $$ anon $ 2.doSubmit(SparkSubmit.scala:924)
    在org.apache.spark.deploy.SparkSubmit $ .main(SparkSubmit.scala:933)
    在org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)

构建定义:

版本:=“ 0.1”

scalaVersion:=“ 2.11.11”

libraryDependencies:

val dependFullList = spark ++ hadoop ++ apisDownload ++ configuration 

组态:

  val configuration = Seq(
    "com.github.pureconfig" %% "pureconfig" % "0.9.2",
    "com.typesafe" % "config" % "1.3.1",
    "org.lz4" % "lz4-java" % "1.4.1"
  )

火花:

  val spark = Seq(
    "org.apache.spark" %% "spark-core" % Versions.spark % "provided" exclude("javax.jms", "jms"),
    "org.apache.spark" %% "spark-sql" % Versions.spark % "provided",
    "com.databricks" %% "spark-xml" % "0.4.1"
    // https://mvnrepository.com/artifact/mrpowers/spark-daria
  )

有任何想法吗?

特里亚恩

您正在混合Scala版本。Spark 2.4.2不支持Scala 2.11。切换到Spark 2.4.0或用scala 2.12版本替换您的库。

https://spark.apache.org/releases/spark-release-2-4-2.html

请注意,从2.4.1开始不推荐使用Scala 2.11。从2.4.2开始,针对Scala 2.12编译了预构建的便捷二进制文件。Spark仍在Maven Central中针对2.11和2.12交叉发布,并且可以从源代码针对2.11构建。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章