b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

MapTask和ReduceTask的工作模式

电脑杂谈  发布时间:2020-01-24 13:02:01  来源:网络整理

hadoop mapreduce原理_hadoop mapreduce 原理_hadoop mapreduce实例

MapTask工作模式一共分为:Read阶段,Map阶段,Collect阶段,溢写阶段,Combine阶段

ps: 来自尚学堂ppt

在这里插入图片描述

hadoop mapreduce 原理_hadoop mapreduce原理_hadoop mapreduce实例

Read阶段: MapTask通过用户编写的ReacordReader,从输入Insplit中解析出一个个key/value。Map阶段: 该节点主要是将解析出的key/value交给用户编写map()函数处理,并形成一系列新的key/valueCollect收集阶段: 在用户编写map()函数中,当数据处理完成后,一般会调用OutputCollector.collect()输出结果。在该变量内部,它将会生成key/value分区(调用Patittioner),并读取一个环形内存缓冲区Spill阶段: 即溢写阶段,当环形缓冲区满后,MapReduce会将数据提到本地磁盘上,生成一个临时文件。需要注意的是,将数据读取本地磁盘之前,先应将数据进行一次本地排序(快速排序),并在必要时对数据进行压缩,合并等操作Combine阶段: 当所有数据处理完成后,MapTask对所有临时文件进行一次合并(归并合并),以保证最后只会生成 一个数据。

当所有的数据处理完,MapTask会将所有临时文件合并成一个大文件,并保存到文件output/file.out中,同时生成相应的索引文件output/file.out.index。

当进行文件合并过程中,MapTask以分区为单位进行合并。对于某个分区,它将采取多轮递归合并的方法。每轮合并io.sort.factor(默认10)个文件,并将形成的文件再次加入待合并列表中,对文件次序后,重复以上过程,直到最后受到一个大文件。

hadoop mapreduce原理_hadoop mapreduce 原理_hadoop mapreduce实例

让每个MapTask最终只生成一个数据文件,可避免同时开启长期文件和同时读取大量小文件形成的随机读取带来的开销。

Spill阶段详情:

利用快速排序算法对缓存区内的数据进行顺序,排序方法为先根据分区编号Partition进行顺序,然后根据key进行顺序。这样,经过排序后,数据以分区为单位聚集一起,且同一个分区所有数据根据key有序。按照分区编号由小到大依次将每个分区中的数据读取任务工作目录下的临时文件output/spillN.out(N表示当前溢写次数)中。如果 用户更改了Combiner,则读取文件之前,对每个分区中的数据进行一次聚集操作。将分区数据的元信息写到内存索引数据结构SplillRecord中,其中每个分区的元信息包含在临时文件中的偏移量,压缩前数据大小跟压缩后的数据大小。如果当前存储索引大小达到1MB,则将存储键值写到文件output/spillN.out.index中。

hadoop mapreduce实例_hadoop mapreduce 原理_hadoop mapreduce原理

ReduceTask工作模式分为:Copy阶段,Merge阶段,Sort阶段,Reduce阶段。

在这里插入图片描述

Copy阶段:ReduceTask从各个MapTask上远程拷贝一片数据,并对于某一片数据,如果其大小达到一定阈值hadoop mapreduce 原理,则提到磁盘上hadoop mapreduce 原理,否则直接放在内存中。Merge阶段:在远程拷贝数据的同时,ReduceTask启动了两个后台线程对硬盘和扇区上的文件进行合并,以避免存储使用过多或磁盘上文件过多。Sort阶段:按照MapReduce语义,用户编写reduce()函数输入数据是按key进行聚集的一组数据。为了将key相同的数据聚在一起,Hadoop采用了基于排序的思路。由于各个MapTask已经推动对自己的处理结果进行了局部排序,因此,ReduceTask只需对所有数据进行一次归并排序即可。Reduce阶段:reduce()函数将推导结果提到HDFS上。

hadoop mapreduce 原理_hadoop mapreduce实例_hadoop mapreduce原理

MapTask并行度由切片决定,ReduceTask并行度可以直接指定个数

job.setNumReduceTasks(4);

注意事项:


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-138033-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      • 郝蕾
        郝蕾

        胡扯

      • 苏芮
        苏芮

        就无可奈何

      • 韩方方
        韩方方

        然后苏联海军菜打出我舰奉命撞击你舰的警告之后才撞击的

      热点图片
      拼命载入中...