线程“main”中的异常 java.lang.NoSuchMethodError: scala.Product.$init$(Lscala/Product;)

2024-04-29

我收到此错误的原因是什么?最初,Scala 的 IDE 插件是 2.12.3。但由于我使用的是 Spark 2.2.0,所以我手动将其更改为 Scala 2.11.11。

Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
17/09/19 12:08:19 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Exception in thread "main" java.lang.NoSuchMethodError: scala.Product.$init$(Lscala/Product;)V
    at scala.xml.Null$.<init>(Null.scala:23)
    at scala.xml.Null$.<clinit>(Null.scala)
    at org.apache.spark.ui.jobs.AllJobsPage.<init>(AllJobsPage.scala:39)
    at org.apache.spark.ui.jobs.JobsTab.<init>(JobsTab.scala:38)
    at org.apache.spark.ui.SparkUI.initialize(SparkUI.scala:67)
    at org.apache.spark.ui.SparkUI.<init>(SparkUI.scala:84)
    at org.apache.spark.ui.SparkUI$.create(SparkUI.scala:221)
    at org.apache.spark.ui.SparkUI$.createLiveUI(SparkUI.scala:163)
    at org.apache.spark.SparkContext.<init>(SparkContext.scala:452)
    at sparkEnvironment$.<init>(Ticket.scala:33)
    at sparkEnvironment$.<clinit>(Ticket.scala)
    at Ticket$.main(Ticket.scala:39)
    at Ticket.main(Ticket.scala)

确保 Spark 与相应的 Scala 版本兼容

使用Scala版本时常见该错误2.12包含提供 Scala 的任何 Spark 版本的系列2.11.

您可以尝试使用2.11Scala 与 Spark 系列。 IE。

libraryDependencies += "org.apache.spark" % "spark-core_2.11" % "2.2.0"

正如你在这个依赖项中看到的spark-core_2.11与scala版本相关2.11.

这就是为什么它使用起来更安全(更兼容)%%并避免在 Spark 依赖项中对 Scala 版本进行硬编码。让该工具自动为您解析所需的 Scala 版本,如下所示:

libraryDependencies += "org.apache.spark" %% "spark-core" % "2.2.0"

上面的声明将自动推断 scala 版本。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

线程“main”中的异常 java.lang.NoSuchMethodError: scala.Product.$init$(Lscala/Product;) 的相关文章

随机推荐