MapReduce工作机制详解
MapReduce工作机制详解 文章目录 MapReduce工作机制详解 MapTask 工作机制 简单概述: 详细步骤: ReduceTask 工作机制 简单概述: 详细步骤: Shuffle 机制 MapReduce 并行度机制 FileInputFormat 切片机制 Reducetask 并行度机制 Task 并行度经验之谈 MapTask 工作机制 简单概述: input File 通过 split 被逻辑切分为多个 split 文件,通过 Record 按行读取内容给 map(用户自己实现的)进行处理,数据被 map 处理结束之后交给 OutputCollector 收集器,对其结果 key 进行分区(默认使用 hash 分区),然后写入 buffer,每个 map task 都有一个内存缓冲区,存储着 map 的输出结果,当缓冲区快满的时候需要将缓冲区的数据以一个临时文件的方式存放到磁盘,当整个 map task 结束后再对磁盘中这个 map task 产生的所有临时文件做合并,生成最终的正式输出文件,然后等待reduce task 来拉数据。 详细步骤: 首先,读取数据组件 InputFormat(默认 TextInputFormat)会通过 getSplits 方法对输入目录中文件进行 逻辑切片规划 得到 splits,有多少个 split 就对应启动多少个