大数据-Shuffle工作机制

本文介绍了Shuffle工作机制,它是MapReduce的核心,是数据从MapTask拷贝到ReduceTask的过程。阐述了Shuffle的基本要求,包括完整拷贝数据、减少网络资源消耗和磁盘IO影响。还详细说明了Shuffle的具体过程,如数据写入缓冲区、溢写、排序、合并等操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Shuffle工作机制

Shuffle过程:数据从MapTask拷贝到ReduceTask的过程(MapReduce的核心)

Shuffle基本要求:

(1)完整地将数据从MapTask端拷贝到ReduceTask端

(2)在拷贝过程中,应尽量减少网络资源的消耗

(3) 尽可能地减少磁盘IO对Task执行效率的影响

在这里插入图片描述

(1)经过map()方法后,将数据写入环形缓冲区(默认为100M)

(2)当缓冲区的数据达到80%时,数据将进行溢写

(3)当溢写线程启动后,就会对数据进行排序

(4)设置Combiner,对数据进行合并,减少磁盘IO资源的消耗

(5)数据进行归并排序

(6)通过context.write()将数据写到磁盘,MapTask结束

(7)如果是多个MapTask,MapTask就会将输出的结果拷贝到内存缓冲中

(8)当内存缓冲达到阀值,溢线程将会(单线程)启动,溢写到磁盘中

(9)数据再次进行归并排序,将多个溢写文件归并成一个溢写文件

(10)最后,按照相同key进行分组,传送给reduce()方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值