问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

全方位揭秘!大数据从0到1的完美落地之Shuffle和调优

发布网友 发布时间:2024-10-06 16:30

我来回答

1个回答

热心网友 时间:2024-10-29 14:01

MapRece高级shuffle阶段概述

MapRece确保每个recer的输入数据按键排序,shuffle阶段负责从map方法输出数据到作为输入数据传给rece方法的过程。shuffle是MapRece的“心脏”,是奇迹发生的地方,不断被优化和改进。

Map端

map方法开始产生输出数据时,不直接写入磁盘,而是利用缓冲机制在内存中进行预排序。每个map任务都有一个环形内存缓冲区存储输出数据,默认大小为100MB,可调整maprece.task.io.sort.mb属性。当缓冲区内容达到80%阈值(maprece.map.sort.spill.percent属性控制),后台线程开始将数据溢写到磁盘,由maprece.cluster.local.dir指定位置。溢写过程中,map输出继续写入缓冲区,直至写磁盘过程完成。

数据溢写到磁盘前,后台线程会按分区器逻辑对数据进行排序(QuickSort默认为字典顺序),并可选使用combiner函数压缩数据,减少写磁盘量和传递给recer的数据。每次溢写后,生成一个溢出文件,多个溢出文件在MapTask完成前被合并成一个已分区且已排序的输出文件。配置属性maprece.task.io.sort.factor控制一次最多合并的文件数。

若溢出文件数量达到3个(maprece.map.combine.minspills控制),会在写入磁盘前再次运行combiner。combiner运行不改变最终结果,只在数据量减少时调用。

数据在溢写过程中进行压缩(maprece.map.output.compress=true,maprece.map.output.compress.codec设置压缩库)以提高效率。

环形缓冲区详解

Rece端

recer通过HTTP获取分区文件,工作线程数量由任务的maprece.shuffle.max.threads属性控制。map输出文件位于运行MapTask的本地磁盘,rece任务需要并行获取多个map任务的map输出作为输入。

recer知道获取map输出的主机位置,通过心跳机制得知map任务完成时间。主机不会立即删除map输出,直到application master告知删除,以避免重复工作。

小map输出复制到JVM内存(由maprece.rece.shuffle.input.buffer.percent属性控制),大输出复制到磁盘,内存缓冲区达到阈值(maprece.rece.shuffle.merge.percent)或输出阈值(maprece.rece.merge.inmem.threshold)时,合并溢写到磁盘。

后台线程合并多个磁盘上的溢写文件为大排序文件,减少后续合并时间。压缩的map输出需在内存中解压缩。

复制完所有map输出后,rece进入排序阶段合并数据,保持顺序。此过程循环进行,最终将数据输入rece函数。

shuffle流程总结

combiner函数

combiner函数优化MapRece执行效率,减少磁盘IO和网络传输。注意,不适合进行求平均值等需求,可能影响结果。

资源相关参数

应配置在mapred-site.xml中生效。

容错相关参数

本地运行MapRece作业设置。

效率和稳定性相关参数
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
三角蟾应该放在吧台的左前方还是右前方 江西省普通高中学生综合素质优秀自我评价范文 江西省余干中学基础设施 江西中学生综合素质评价怎么写 南昌市有什么高中是可以住校的啊 江西省上高中学校园环境 南昌哪些高中有宿舍 辛未 庚寅 丁巳 辛丑 男命,婚姻怎么样,什么时候才能结婚? 辛未 辛丑 乙酉日 酉时命运如何? 谈谈你对中医的认识 为什么毛坯房比精装贵 广州东站在哪里 广州东站的位置 广州东是哪个火车站 赴汤蹈火中的"汤"是什么意思? 赴汤蹈火的"汤"指什么? 绿地阳澄名邸交通方便吗?应该怎么过去? 一能科技园到苏州绿地阳澄名邸有多少公里 从青剑湖去阳澄明美腿坐什么公交车 绿地阳澄名邸金耳朵红吗 苏州华园新天 深圳可芙食品有限公司怎么样? 可芙可芙释义 电脑非常卡 反应慢 什么原因 可芙材质的被子好么 ...的电脑玩大型的QQ游戏就会死机,还有一些大型网游就出现什么“READ... 可芙产品系列 可芙品牌简介 360急救箱栓除了我的啥文件,现在没电脑没任何声音。电影,游戏,YY,开机... 笔记本电脑,开机后显示几排英文就不动了,然后按任何键就黑屏怎么... 西安卯泰和照明工程有限公司怎么样? mapreduce 需要多少vm 咽喉炎和支气管炎引起的咳嗽,吃冰糖炖雪梨有用么 冰糖雪梨的功效与禁忌 冰糖雪梨的功效与禁忌有什么 鹿中之王是哪一种鹿? 我的vivox3l的云盘登录失败 vivo手机登陆云盘失败是什么意思? ...是密码错误,怎么办求指点。谢谢!手机型号是vivo,y13 肥肉到底会不会变成肌肉 发几条关于利益关系的名言 香蕉和荔枝不能一起吃 支付宝卡通可以用工资卡吗?安全吗? 请问从中大北校区怎么去仲恺学院呢?比较急,请多帮忙,谢谢。。。_百度知... 平时身体素质还行,脸的肤色偏白,就算不熬夜也总会有很重的黑眼圈,奇怪... 步步高y17微信发说说怎么同步到qq ...不能播放了 爱奇艺突然不能播放了原因及解决方法 钦江古龙窑地址在哪里? 从大元帅府到广州图书馆怎么走 珠江游轮游攻略 广州旧羊城八景有哪些,广州老景区推荐理由 中海名都附近有没有地铁站,有的话,搭哪号线到广州图书馆附近?