shuffle机制

纵饮孤独 提交于 2020-03-07 09:14:30
  • map的数量不是基于blk大小决定的;
  • 基于中间抽象概念,叫切片;
  • 一个切片对应一个map进程;
  • 是一个逻辑概念;
  • 大文件,一个切片对应一个blk即可,对于小文件,可以对应多个blk,即使去其他datanode获取,那么文件很小,不会影响太多时间传输;

 

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

shuffle

某一个具体的map task进程,输出数据是如何缓存、中间是如何排序、如何分组的,然后转发给reduce,这个过程就叫做shullfe过程。shuffle是分布到整个集群协作运行的

partitions实现分组

buffer缓存

  1. inputSplit切片逻辑产生一个map 进程
  2. map结果输出k-v形式
  3. k-v放到自己机器的内存中buffer,buffer缓冲区大小由配置文件指定,默认100M,
  4. buffer会把溢出数据放到磁盘中,分组,排序,合并(合并时候同一组还需要重新排序,因为每个分组中的数据排序之间存在135,268)
  5. 给到reduce后,依然需要分组排序合并

MRAPPMaster的任务监控与调度机制

 

 

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!