groupByKey、reduceByKey、aggregateByKey、foldByKey、combineByKey的联系和区别
2024-09-08 17:15:32
groupByKey根据key对value进行分组,默认没有预聚合
combineByKeyWithClassTag[CompactBuffer[V]](
createCombiner, mergeValue, mergeCombiners, partitioner, mapSideCombine = false)
reduceByKey分区内和分区间的计算逻辑一致,第一个Key的值不做任何计算,直接返回,在分区内和第二个key的值做计算
combineByKeyWithClassTag[V]((v: V) => v, func, func, partitioner)
aggregateByKey分区内和内区间的计算逻辑可以不同,第一个key的值和初始值做分区内计算
combineByKeyWithClassTag[U]((v: V) => cleanedSeqOp(createZero(), v),
cleanedSeqOp, combOp, partitioner)
foldByKey分区内和分区间的逻辑一致,第一个key的值和初始值做分区内计算
combineByKeyWithClassTag[V]((v: V) => cleanedFunc(createZero(), v),
cleanedFunc, cleanedFunc, partitioner)
combineByKey分区内和内区间的计算逻辑可以不同,对分区内第一个key的value进行格式转换
combineByKeyWithClassTag(createCombiner, mergeValue, mergeCombiners,
partitioner, mapSideCombine, serializer)(null)
总之:这五个方法底层调的是同一个方法,只不过是参数不同而已!
最新文章
- bzoj 3055礼物运送 floyed + 状压DP
- PHP中WEB典型应用技术
- lleetcode 292. Nim Game
- iBatis面试题
- JAVA 边界布局管理器
- linux下使用svn
- (转)SqlServer数据库大型应用解决方案总结
- 去掉php框架CI默认url中的index.php
- arcmap10如果判断一个面是否含洞
- 07-C语言流程控制if、switch
- Linux 可重入内核
- Linux指令--mkdir
- redis资源未释放引发的问题
- BUG心得
- [java,2019-01-25] 图片和二进制互转
- 07 Python初学(元组)
- jdk各种包安装方式
- TensorFlow 自定义模型导出:将 .ckpt 格式转化为 .pb 格式
- U3D学习10——关节和射线检测
- Zabbix配置优化
热门文章
- Solon2 之基础:一、常用应用配置说明
- JZOJ 2022.07.18【提高组A】模拟
- LG P4213【模板】杜教筛(Sum)
- Using / for division outside of calc() is deprecated and will be removed in Dart Sass 2.0.0.
- JSTL 报错 TagLibraryValidator
- 动手写了个简单版的ChatGPT的Java版客户端
- word2021自带viso屏幕闪烁、抖动问题解决
- 【语义分割】使用DAFormer测试自己的数据集
- MySql创建高性能的索引
- K8S资源控制器