以上三个方法操作都是对RDD进行的聚合操作。
- reduce()与fold()方法是对同种元素类型数据的RDD进行操作,即必须同构。其返回值返回一个同样类型的新元素。
num=sc.parallelize([1,2,3,4])
sum=num.reduce(lambda x,y: x+y)
fold()与reduce()类似,接收与reduce接收的函数签名相同的函数,另外再加上一个初始值作为第一次调用的结果。(例如,加法初始值应为0,乘法初始值应为1)
num.fold(0,lambda x,y:x+y)
- aggregate()方法可以对两个不同类型的元素进行聚合,即支持异构。
首先,看看aggrega