【发布时间】:2016-06-27 11:25:48
【问题描述】:
我的 spark 应用有 40 个累加器
object MySparkApp {
def main(args: Array[String]): Unit = {
// initialize SparkContext
val acc1 = sc.accumulator(0)
val acc2 = sc.accumulator(0)
.
.
val acc40 = sc.accumulator(0)
val logRdd = sc.textFile("input/path").map(x => parser.parse(x))
logRdd.forEach(x => incrementCounter(x, acc1, acc2,..... acc40))
}
}
这段代码非常丑陋,如果将这些累加器包装在对象之类的东西中并让代码更具可读性,这将是一种好方法。
【问题讨论】:
-
使用
List的累加器? -
你的用途是什么?这似乎需要进一步分解?这可能只是一个自定义累加器吗?
-
这些是 x 内的空值或无效值的计数,用于在作业结束时记录。
标签: scala apache-spark