Spark Fold vs性能降低?

时间:2015-04-29 00:01:38

标签: scala functional-programming apache-spark

在大数据处理工作中,功能“折叠”与功能“减少”相比具有更低的计算性能吗?

例如,我有以下两个功能:

    array1.indices.zip(array1).map(x => x._1 * x._2).reduce(_ + _)

    array1.indices.zip(array1).map(x => x._1 * x._2).fold(0.0) {_ + _}

array1是一个非常庞大的rdd数组。哪个函数具有更高的计算性能,给出相同的聚类设置。

1 个答案:

答案 0 :(得分:1)

这确实是same as the one pointed out by muhuk,因为Spark实现的胆量仅仅是对self.Da的调用

iterator来自:

fold

(iter: Iterator[T]) => iter.fold(zeroValue)(cleanOp) 来自:

reduce

因此,这主要是调用scala实现。