下载此文档

Task运行过程分析.doc


文档分类:IT计算机 | 页数:约5页 举报非法文档有奖
1/5
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/5 下载此文档
文档列表 文档介绍
Task运行过程分析.docMap Task:read,map,collect,spill,combine
Reduce Task:shuffle, merge,sort,reduce,write
Map Task 内 部 实 现
每个map处理一个输入数据的InputSplit,并将产生的若干数据片段写到本地磁盘上,Reduce
Task则从每个map task上远程拷贝相应的数据片段,经
分组聚集和规约后,将结果写到HDFS±作为最终结果。
Map Task将中间计算结果存放在本地磁盘上,而Reduce Task通过HTTP请求各个Map Task
端pull相应的数据,为了支持大量的Reduce Task并发从Map
Task端拷贝数据,Hadoop采用了 Jetty Server作为httpserver处理并发数据请求。
Map Task执行过程:首先通过用户提供的InputFormat将对应的InputSplit解析成一系列
key/value,并以此交给用户编写的map函数处理,接着按照
制定的partitioner对数据分片,以确定每个key/value输入到那个Reduce Task处理,之后将
数据交给用户定义的combiner进行以此本地规约,最后
将结果存储在本地磁盘。
Reduce Task执行过程:首先通过http请求从各个已经完成的Map Task 拷贝Reduce对于
的数据片段,所有数据拷贝完之后,再以key为关键字对所有
数据进行排序,通过排序,key相同的记录聚集在一起形成若干分组,然后将每组数据交给
用户编写的reduce函数处理,并将最终的数据结果写到HDFS
上作为最终输出结果。
Hadoop内部实现了基于行压缩的数据存储格式IField,避免不必要的磁盘和网络开销。
<key-len,value-len,key,value〉
排序:Map Task和Reduce Task均会对数据按照key进行排序。
对于Map Task,将处理的结果暂时放在一个缓存中,当缓冲区使用率达到一定的阀值后,
再对缓冲区的数据进行以此排序,并将这些有序数据以IFile的
形式存储在磁盘上,当所有的数据存储完之后,它会对磁盘上所有的文件进行以此合并,以 将这些文件合并成一个大的有序的文件。
对于Reduce Task,从每个Map Task ±远程拷贝相应的数据,如果文件大于一个阀值,则放
在磁盘上,否则放在内存中。如果磁盘上的文件达到一定的
阀值,则进行以此合并并生成一个较大的文件,如果内存中文件大小或者数目超过一定的阀
值,则进行以此合并,并将文件写到磁盘上,当所有的数据
拷贝完之后,Reduce Task对内存和磁盘上的数据进行以此合并。
快速排序
文件归并山类Merger完成,它要求待排序对象需要segment实例化对象,segment是对磁
盘和内存中的IFile格式文件的抽象,具有迭代器的作用。可迭代
读取IFile文件中的key/value记录。
Reporter:所有的Task需要周期性向TaskTracker汇报最新进度和计数器值,是山Reporter 组件实现的。
在 map/reduce Task中,TaskReporter实现了 Reporter接口,并且以线

Task运行过程分析 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数5
  • 收藏数0 收藏
  • 顶次数0
  • 上传人小雄
  • 文件大小89 KB
  • 时间2021-05-15