标签:map disk key 框架 buffer reduce 计算 MR 排序
map数量
-
计算向数据移动,map计算框架移动到Block
-
map和Block不是一一对应,map与逻辑片(split)一一对应。原因:单个块可能过大,map处理时间长。所以block逻辑分块,多来几个map
reduce数量
-
按理说reduce应该和key数量一样,但是可能存在不同key对应的数据量不一样,有的太累有的太闲
-
一个reduce可以处理不同的key
-
死板:同一个key必须在一个reduce 上执行
四个阶段
-
切片
-
map
-
shuffle:相同的key成一组,交给同一个reduce处理
-
reduce
-
buffer in memory: 内存缓冲区
-
partition sort: 相同的key放在一起 第一次排序(分区排序)
-
key1 key2 交给同一个reduce,但是第一次排序完成了把key1 key2放在一个partion,但是内部是无序的
-
map阶段的 第二次排序, partion内部排序
-
buffer满了以后不是立即发到reduce,因为buffer size小,用一次传输不值得
-
所以buffer满了以后 先spill to disk 溢写到磁盘
-
多个溢写小文件merge to disk第三次排序
-
shuffle:多个map产生多个merge to disk,reduce不能说来一个map我处理一次,所以在这之前先第四次排序归并排序
标签:map,disk,key,框架,buffer,reduce,计算,MR,排序 来源: https://www.cnblogs.com/Coeus-P/p/13261899.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。