AWS EMR 上的 Spark:java.lang.NoSuchMethodError: scala.Product.$init$(Lscala/Product;)V

Ala*_*ack 4 scala amazon-emr apache-spark

我正在尝试将 Scala 2.12.0 + Spark 2.4.4 应用程序部署到 AWS EMR。我在 EMR 中启用了 Spark 2.4.4。

当应用程序运行时,它失败并显示以下错误:

java.lang.NoSuchMethodError: scala.Product.$init$(Lscala/Product;)V
Run Code Online (Sandbox Code Playgroud)

我正在使用“sbt-assembly”插件构建 jar。我专门从组装的 jar 中删除了“org/apache/spark/”,以确保版本没有冲突。

Ala*_*ack 5

虽然 Spark 2.4.4 据称支持 Scala 2.12.x,但 EMR 似乎不支持它。

相反,必须使用 Scala 2.11 进行构建。

例如在 build.sbt 文件中:

scalaVersion := "2.11.12"
Run Code Online (Sandbox Code Playgroud)