Spark-submit在独立模式下导致java.lang.NoSuchMethodError

时间:2016-11-16 13:20:48

标签: scala apache-spark

我在本地测试我的spark应用程序,使用独立模式,将所有内容打包到uber jar中。在某些时候我将依赖库更新为新版本,而spark-submit现在导致java.lang.NoSuchMethodError,并且此方法存在于新版本中而不是之前的版本。

我清理了当地的maven repo,但这没有帮助。

它仍可用于--master local [1],但不能--master local [2]或--master local [*]

有什么问题?优步罐子应该防止这样的事情,不应该吗?

UPD。 代码失败的地方(addAll方法) `def union(first:Array [Byte],second:Array [Byte])= {       val bf1 = BloomFilter.deserialize(第一个)       val bf2 = BloomFilter.deserialize(second)       bf1.addAll(BF2)       BloomFilter.serialize(BF1)     }

val bytes = rdd.mapPartitions(it => {
  val bf = new BloomFilter(expectedElements.toInt, falsePositiveRate)
  for (element <- it.map(_.getAs[String](onField)).filter(_ != null)){
    bf.add(element)
  }
  BloomFilter.serialize(bf)
  Iterator(BloomFilter.serialize(bf))}
).reduce(union)`

和lib是 com.clearspring.analytics:stream:2.9.5

我不记得我之前使用的确切版本,但没有addAll方法。

0 个答案:

没有答案