spark (算子 ) groupBykey+Map 和 reduceBykey 的区别

1)面试题:groupByKey+map和reduceByKey都能实现分布式分组聚合,有什么区别?

  • groupByKey没有Map端聚合的操作,只做分组,必须等分区结束才能实现,最终map需要做整体聚合

  • reduceByKey是有Map端聚合操作,先分区内部聚合,再做分区间的聚合

  • reduceByKey直接分组聚合的性能要高于先做groupByKey再做聚合的方式

2)什么叫做map端的聚合? --类似于MapTask中的Combiner

combiner --> map端的reduce操作

container --> yarn中运行任务时的资源管理包

executor --> spark的app应用在运行时,会产生两个进程,一个Driver,一类executor(执行spark中的job任务的)

Combiner --> 运行在map端的Reduce

相关推荐
架构悟道1 小时前
不当愣头青、聊聊软件架构中的那些惯用的保命手段
java·分布式·架构·设计·高可用·可靠性·容错
꧁薄暮꧂2 小时前
kafka是如何处理数据乱序问题
分布式·kafka
天冬忘忧2 小时前
Spark 共享变量:广播变量与累加器解析
大数据·python·spark
电子手信3 小时前
AI知识库在行业应用中的未来趋势与案例分析
大数据·人工智能·自然语言处理·数据挖掘
songqq273 小时前
【快速解决】kafka崩了,重启之后,想继续消费,怎么做?
分布式·kafka
zmd-zk3 小时前
hive中windows子句的使用
大数据·数据仓库·hive·hadoop·windows·分布式·big data
斑驳竹影10 小时前
【RabbitMQ】之高可用集群搭建
分布式·rabbitmq
Natural_yz11 小时前
大数据学习09之Hive基础
大数据·hive·学习
Natural_yz12 小时前
大数据学习10之Hive高级
大数据·hive·学习
AI服务老曹12 小时前
建立更及时、更有效的安全生产优化提升策略的智慧油站开源了
大数据·人工智能·物联网·开源·音视频