升级了spark版本,在spark作业遇到java.lang.NoSuchMethodError:scala.Product.$init$(Lscala/Product;)V时
我们最近为ETL项目从Spark 2.4.2升级到了2.4.5 部署更改并运行作业后,我看到以下错误:升级了spark版本,在spark作业遇到java.lang.NoSuchMethodError:scala.Product.$init$(Lscala/Product;)V时,scala,apache-spark,Scala,Apache Spark,我们最近为ETL项目从Spark 2.4.2升级到了2.4.5 部署更改并运行作业后,我看到以下错误: Exception in thread "main" java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.in
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.spark.deploy.worker.DriverWrapper$.main(DriverWrapper.scala:65)
at org.apache.spark.deploy.worker.DriverWrapper.main(DriverWrapper.scala)
Caused by: java.lang.NoSuchMethodError: scala.Product.$init$(Lscala/Product;)V
at com.advisory.pic.etl.utils.OracleDialect$.<init>(OracleDialect.scala:12)
at com.advisory.pic.etl.utils.OracleDialect$.<clinit>(OracleDialect.scala)
at com.advisory.pic.etl.drivers.BaseDriver.$init$(BaseDriver.scala:19)
at com.advisory.pic.etl.drivers.PASLoadDriver$.<init>(PASLoadDriver.scala:19)
at com.advisory.pic.etl.drivers.PASLoadDriver$.<clinit>(PASLoadDriver.scala)
at com.advisory.pic.etl.drivers.PASLoadDriver.main(PASLoadDriver.scala)
... 6 more
关于出现上述问题的原因以及如何验证版本不匹配的建议?我认为这是由于编译代码的Scala版本与运行时的Scala版本不匹配造成的 Spark 2.4.2是使用Scala 2.12预构建的,但Scala 2.4.5是使用Scala 2.11预构建的,如- 如果使用2.11中编译的spark库,这个问题应该会消失
compile group: 'org.apache.spark', name: 'spark-core_2.11', version: '2.4.5'
谢谢你,萨利姆,这帮了我的忙,乔布斯的工作也如期进行。但是当我看到你上面链接的文档时,我仍然有一个疑问。我发现了以下内容:)。最好的方法是使用2.12.x(x是需要找到的),还是可以根据以下信息做出决定:?不幸的是,Scala 2.11上提供了预构建的Spark standalone 2.4.5。我们可以使用Scala 2.12-构建它。有趣的是,Databricks还支持Spark 2.4.5和Scala 2.11-
compile group: 'org.apache.spark', name: 'spark-core_2.11', version: '2.4.5'