Hadoop之谈谈MapReduce
来源:互联网 发布:csgo 电击枪 知乎 编辑:程序博客网 时间:2024/06/05 16:37
MapReduce的流程
1.Client请求JobTracker,得到分配的JobID。
2.JobTracker将作业放入一个作业队列里,根据作业调度器运行作业。文件的划分信息确定总的Map数量。根据主机的数量,内核,内存等信息,确定并行的Map数量。
3. Map端输出suffer后传输Reduce端。
4.TaskTracker每隔一段时间就会给JobTracker发送一个心跳,报告自己的运行状态信息。
5.JobTracker收到最后一个任务的完成信息时,把当前作业状态置为成功!
Suffer之Map端
1.每块数据会让一个Map处理,Map的输出结果会放入一个环形内存缓冲区,当缓冲区要溢出时,将缓冲区的文件写入溢写文件。
2.写入磁盘之前,数据会被排序和Combiner。同时数据会被Partitioner分区(分配给不同的Reduce)。
3.当Map任务结束之后,可能会有多个溢出文件,这时需要将这些文件合并。合并的过程中会继续进行排序和Combiner。
4.将分区的数据传递给对应的Reduce。
Suffer之Reduce端
1.Reduce会接受到不同的Map任务传来的数据,如果数据很小会直接放入内存中,否则对数据进行排序后溢写到磁盘。
2.随着溢写文件增多,最终排序后合并为一个文件。
3.合并的过程中,会产生中间文件写入磁盘,但是最后一次合并的结果不会写入磁盘,直接传入Reduce。
MapReduce on Yarn
1.MRAppMaster通过JobTracker衍化而来。JobTracker包含资源管理和作业控制两个功能,在YARN中,作业管理由ResourceManager实现,因此,只剩下作业控制这一个功能由MRAppMaster实现。
2.TaskTracker由NodeManager代替。
tips:
是不是每发生一次溢写都会产生一个溢写文件?为什么第2,3,4...次溢写不追加到第一个的溢写文件后?
- Hadoop之谈谈MapReduce
- Hadoop之Mapreduce------>Mapreduce原理
- Hadoop之谈谈HDFS
- Hadoop之谈谈HBase
- Hadoop--Hadoop核心之MapReduce
- hadoop之mapreduce
- Hadoop之MapReduce
- Hadoop 之 mapreduce
- Hadoop之mapreduce
- hadoop之mapreduce实例
- Hadoop之MapReduce
- hadoop之mapReduce
- Hadoop之MapReduce 分析
- Hadoop之MapReduce概念
- HADOOP之MAPREDUCE
- Hadoop之MapReduce
- Hadoop之MapReduce命令
- hadoop之MAPREDUCE
- HDOJ 1686 Oulipo (KMP)
- A + B高精度
- Cacti的配置详解(一)——使用rrdtool绘图
- jquery学习
- fgetc,feof
- Hadoop之谈谈MapReduce
- 话务预测(1) 任务介绍
- appium的安装
- Basic Calculator II
- intent 不能从一个activity跳转到一个Fragment
- 99%的海量数据处理面试题
- android 页面标题栏公用控件
- windows备份远程mysql数据库
- IOS开发UI篇--IOS动画(Core Animation)总结