我收到了这个错误。我不确定为什么会这样,因为org.apache.spark.rdd.RDD中有一个coalesce方法。 有任何想法吗? 我是否运行了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;
答案 0 :(得分:1)
我怀疑这是一个库兼容性问题。单独降级Spark后,一切正常(无代码更改)。
在:
之后
操作系统:OSX 10.11.6
答案 1 :(得分:1)
这是因为您的代码或项目依赖项的某些部分称为旧版本(2.0.0之前的spark版本)会引发API' coalesce'在新版本的火花中,此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