Task运行过程——基本数据结构和算法

IFile存储格式

IFile是支持行压缩的存储格式。
保存的是有序数据集,因为MapTask会根据key值进行排序。

排序

对于Map Task:将处理的结果暂时放到一个缓冲区中,当缓冲区使用率到达一定阈值后,再对缓冲区中的数据进行一次排序,并将这些有序数据以IFile文件形式写到磁盘中,而当数据处理完毕后,会对磁盘上所有文件进行一次合并,将小文件合并到一个大文件。

对于Reduce Task:它从每个Map Task上远程拷贝相应的数据文件,如果文件大小超过一定阈值,则放到磁盘上,否则放到内存中,如果磁盘上文件数目达到一定阈值,则进行一次合并以生成一个更大文件;如果内存中文件大小或者数目超过一定阈值,则进行一次合并后将数据写到磁盘上。当所有数据拷贝完毕后,Reduce Task统一对内存和磁盘上的所有数据进行一次合并。

Map Task和Reduce Task运行过程中,缓冲区排序用快排,IFile用堆排序。

Reporter

Task周期性向Task Tracker汇报最新进度和计数器值,由Reporter组件实现的。
在Map/Reduce Task中,TaskReporter类实现了Reporter接口,并且以线程形式启动,TaskReporter汇报信息包括两部分:任务执行进度和任务计数器值。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值