scala - Spark 合并错误 - 没有这样的方法

标签 scala apache-spark rdd coalesce

我收到这个错误。我不确定为什么会出现这种情况,因为 org.apache.spark.rdd.RDD 中有一个合并方法。 有任何想法吗? 我运行的 Spark 和 org.apache.spark.rdd.RDD 版本是否不兼容?

Exception in thread "main" java.lang.NoSuchMethodError: org.apache.spark.rdd.RDD.coalesce$default$3(IZ)Lscala/math/Ordering;

最佳答案

这是因为您的代码或项目依赖项的某些部分称为旧版本(2.0.0之前的spark版本)spark API“合并”,而在新版本spark中,此API已被删除并被“重新分区”替换。

要解决此问题,您可以将 Spark 运行环境降级到 2.0.0 以下版本,也可以将 SDK Spark 版本升级到 2.0.0 以上,并升级项目依赖项版本以兼容 Spark 2.0.0 或如上所述。

欲了解更多详情,请参阅此主题: https://github.com/twitter/algebird/issues/549 https://github.com/EugenCepoi/algebird/commit/0dc7d314cba3be588897915c8dcfb14964933c31

关于scala - Spark 合并错误 - 没有这样的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40469821/

相关文章:

python - Jupyter Notebook PySpark OSError [WinError 123] 文件名、目录名或卷标语法不正确 :

java - 坏元素的映射

java - Scala 包对象getClass

apache-spark - 如何在 Spark 代码中设置 Kryo 的不可修改集合序列化器

r - SparkR:levenshtein 来自 2 个 Spark 数据帧的 2 个变量之间的模糊字符串匹配

java - 线程 "main"java.lang.NoSuchMethodError : scala. Predef$.refArrayOps(

python - Pyspark 展平 RDD 错误::太多值无法解压

scala - Scala Play Controller 中的 Finagle 客户端

scala - 为什么 Scala 的 LazyList 元素在计算后显示为未评估?

scala - playframework 禁用 CSRF 过滤器