【问题标题】:Spark 2.4.4. library issue java.lang.NoSuchMethodError火花 2.4.4。库问题 java.lang.NoSuchMethodError
【发布时间】:2020-08-26 03:40:00
【问题描述】:

我们目前使用 Databricks 作为运行 spark/Scala 代码的执行引擎。当我们使用 spark 2.4.0 和 scala 2.11 时,这工作正常

当我们尝试在新版本的 Spark 2.4.4 和 Scala 2.11 上使用相同的代码时,我们收到如下错误,

java.lang.NoSuchMethodError: org.apache.spark.sql.execution.datasources.FilePartition.files()Lscala/collection/Seq;

尝试了以下导入,但仍然是同样的问题。

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._

【问题讨论】:

  • 检查您的 spark 2.4.4 是否适用于 scala 2.11。
  • 请分享你的依赖/pom.xml

标签: apache-spark apache-spark-sql databricks


【解决方案1】:

似乎 scala 版本在两个版本之间发生了变化。根据文档:

火花 2.4.0 (https://spark.apache.org/docs/2.4.0/):

对于 Scala API,Spark 2.4.0 使用 Scala 2.11。您将需要使用 兼容 Scala 版本 (2.11.x)。

火花 2.4.4 (https://spark.apache.org/docs/2.4.4/):

对于 Scala API,Spark 2.4.4 使用 Scala 2.12。您将需要使用 兼容 Scala 版本 (2.12.x)。

如果您使用 spark 2.4.4,请确保所有依赖项都设置为 scala 2.12

【讨论】:

    【解决方案2】:

    如果您正在使用任何 jar,请确保该 jar 也具有用于 scala 构建的类似工件。比如 2.10 / 2.11 / 2.12

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-01-13
      • 2020-04-18
      • 2015-02-04
      • 1970-01-01
      • 1970-01-01
      • 2021-09-30
      • 1970-01-01
      相关资源
      最近更新 更多