我们目前正在使用Databricks作为执行引擎,它运行spark/Scala代码。当我们使用spark 2.4.0和Scala2.11时,这是很好的。
当我们尝试在Spark2.4.4和Scala2.11的新版本上使用相同的代码时,我们得到了如下错误:
org.apache.spark.sql.execution.datasources.FilePartition.files()Lscala/collection/Seq;:
java.lang.NoSuchMethodError
尝试了下面的进口和仍然相同的问题。
import org.apache.spark.sql._
import org.apache.spark.sql.functions._
import org.apache.spark.sql.SaveMode
import org.apache.spark.sql.types._
import org.apache.spark.sql.functions.expr
import org.apache.spark.sql.Column
import sqlContext.implicits._发布于 2020-02-13 19:29:20
似乎scala版本在这两个版本之间发生了变化。根据医生的说法:
火花2.4.0 (https://spark.apache.org/docs/2.4.0/):
对于Scala,
2.4.0使用Scala2.11。您需要使用兼容的Scala版本(2.11.x)。
火花2.4.4 (https://spark.apache.org/docs/2.4.4/):
对于Scala,Spark2.4.4使用Scala2.12。您需要使用兼容的Scala版本(2.12.x)。
如果使用spark 2.4.4,请确保将所有依赖项设置为Scala2.12
发布于 2020-08-25 19:40:00
如果您正在使用任何jar,请确保jar对于scala构建也有类似的工件。如2.10 / 2.11 / 2.12
https://stackoverflow.com/questions/60200932
复制相似问题