小编ozi*_*zil的帖子

如何创建自定义集合累加器,即Set [String]?

我正在尝试使用Apache Spark中的自定义累加器来累加一个集合。结果应具有Set [String]类型。为此,我创建了自定义累加器:

object SetAccumulatorParam extends AccumulatorParam[Set[String]] {
    def addInPlace(r1: mutable.Set[String], r2: mutable.Set[String]): mutable.Set[String] = {
        r1 ++= r2
    }

    def zero(initialValue: mutable.Set[String]): mutable.Set[String] = {
        Set()
    }
}
Run Code Online (Sandbox Code Playgroud)

但是我无法实例化这种类型的变量。

val tags = sc.accumulator(Set(""))(SetAccumulatorParam)
Run Code Online (Sandbox Code Playgroud)

导致错误。请帮助。

required: org.apache.spark.AccumulatorParam[Set[String]]
Run Code Online (Sandbox Code Playgroud)

scala accumulator apache-spark rdd

1
推荐指数
1
解决办法
3702
查看次数

标签 统计

accumulator ×1

apache-spark ×1

rdd ×1

scala ×1