the*_*evd 7 scala fold apache-spark
下面我有一个Spark fold
动作的Scala示例:
val rdd1 = sc.parallelize(List(1,2,3,4,5), 3)
rdd1.fold(5)(_ + _)
Run Code Online (Sandbox Code Playgroud)
这会产生输出35
.有人可以详细解释这个输出是如何计算的吗?
从Scaladocs采取这里(重点煤矿):
@param zeroValue
op
运算符的每个分区的累积结果的初始值,以及来自op
运算符的不同 分区的组合结果的初始值 - 这通常是中性元素(例如,Nil
用于列表连接或0
求和)
该zeroValue
(合并从分区结果时每个分区一个,加1)你的情况增加四倍.结果是:
(5 + 1) + (5 + 2 + 3) + (5 + 4 + 5) + 5 // (extra one for combining results)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2168 次 |
最近记录: |