reduceByKey、foldByKey、aggregateByKey、combineByKey区别
算子 | 初始值 | 逻辑 |
---|---|---|
reduceByKey | 没有初始值 | 分区内和分区间逻辑相同 |
foldByKey | 有初始值 | 分区内和分区间逻辑相同 |
aggregateByKey | 有初始值 | 分区内和分区间逻辑可以不同 |
combineByKey | 初始值可以变换结构 | 分区内和分区间逻辑可以不同 |
请列举会引起Shuffle过程的Spark算子,并简述功能
- reduceByKey:可以将数据按照相同的Key对Value进行聚合
- groupByKey:可以将数据按照相同的key对Value进行分组
- aggregateByKey :可以将数据根据不同的规则进行分区内计算和分区间计算,有初始值。
- foldByKey:当分区内规则和分区间规则相同时,aggregateByKey可以简化为foldByKey。
- combineByKey:有初始值的聚集函数,允许返回值类型与输入类型不一致。
- sortByKey:在一个(K,V&