pyspark.RDD.fold ¶
-
RDD.fold( zeroValue : T , op : Callable [ [ T , T ] , T ] ) → T [source] ¶ -
使用给定的结合函数和中性“零值”聚合每个分区的元素,然后聚合所有分区的结果。
函数
op(t1, t2)允许修改t1并将其作为结果值返回,以避免对象分配;但是,它不应修改t2。这与在像Scala这样的函数式语言中为非分布式集合实现的折叠操作有些不同。这个折叠操作可能会分别应用于各个分区,然后将这些结果折叠成最终结果,而不是按照某种定义的顺序依次将折叠应用于每个元素。对于不满足交换律的函数,结果可能与应用于非分布式集合的折叠结果不同。
新增于版本 0.7.0。
- Parameters
-
- zeroValue T
-
每个分区累积结果的初始值
- op function
-
一个用于在分区内部累积结果并组合不同分区结果的函数
- Returns
-
- T
-
聚合结果
示例
>>> from operator import add >>> sc.parallelize([1, 2, 3, 4, 5]).fold(0, add) 15