MapReduce(四):shuffer原理
来源:互联网 发布:搭建阿里云服务器 编辑:程序博客网 时间:2024/06/17 02:00
1、map输出过程:
如果没有reduce阶段,则直接输出到hdfs上,如果有有reduce作业,则每个map方法的输出在写磁盘前线在内存中缓存。每个map task都有一个环状的内存缓冲区,存储着map的输出结果,默认100m,在写磁盘时,根据reduce的数量把数据划分为相应的分区,在每个分区中数据进行内排序。在每次当缓冲区快满的时候由一个独立的线程将缓冲区的数据以一个溢出文件的方式存放到磁盘,当整个map task结束后再对磁盘中这个map task产生的所有溢出文件做合并,被合并成已分区且已排序的输出文件。然后等待reduce task来拉数据
2、reducer如何知道要从哪个tasktracker取得map输出呢?
map任务成功完成以后,他们会通知其父tasktracker状态已更新,然后taskTracker进而通知jobTracker。这些通知在前面的心跳机制中传输。
因此,对于指定作业,jobTracker知道map输出和taskTracker之间的映射关系。reducer中的一个线程定期询问jobTracher以便获取map输出的位置,
直到它获得所有输出位置。
0 0
- MapReduce(四):shuffer原理
- MapReduce(Shuffer原理)
- Shuffer过程
- mapreduce(六):MapReduce原理
- MapReduce原理
- MapReduce原理
- MapReduce原理
- MapReduce原理
- MapReduce原理
- MapReduce原理
- MapReduce原理
- MapReduce原理
- MapReduce原理
- mapreduce原理
- MapReduce原理
- MapReduce原理
- MapReduce原理
- MapReduce原理
- Python代码小记
- 链表的逆置 递归实现
- java集合(-)
- PorterDuffXfermode实例,将自定义View变为图片
- Sorting a Three-Valued Sequence(USACO 2.1.3)
- MapReduce(四):shuffer原理
- ubuntu14.04环境下python3 Image.show()不显示图片问题
- capistrano2和3生成Capfile语句的区别
- 没有用户画像,别谈精准营销
- iphone之利用Masonry框架为组件创建约束
- 大数据量时Mysql的优化要点[转]
- Android ListView的addHeaderView与addFooterView的详解
- 利用ViewPager、PagerTabStrip实现滚动导航
- HDOJ1010.Tempter of the Bone