Hadoop 键值对的mapreduce过程剖析
来源:互联网 发布:深入php 编辑:程序博客网 时间:2024/06/05 09:51
Hadoop的Mapreduce是一个分布并行处理大数据的程序框架,一个Map/Reduce 作业(job) 通常会把输入的数据集切分为若干独立的数据块,由 map任务(task)以完全并行的方式处理它们。框架会对map的输出先进行排序, 然后把结果输入给reduce任务。通常作业的输入和输出都会被存储在文件系统中。
MapReduce程序是通过键值对来操作数据的,其单个输入输出形式如下:
map: key1,value1 ----> list(key2,value2)
reduce: (key2,list(value2))----> key3,value3
一、Mapreduce操作的数据也是保存在文件系统HDFS上,InputFormat接口定义的就是如何读取文件和分割文件提供分片给mapper,TextInputFormat文本格式输入 是InputFormat的默认实现类
它主要负责:
1. 把输入文件切分成多个逻辑InputSplit实例, 并把每一实例分别分发给一个 Mapper.2.提供RecordReader的实现,这个RecordReader从逻辑InputSplit中获得输入记录, 这些记录将由Mapper处理
二、在input输入的进来的(key1,value1)经过mapper处理变成list(key2,value2),可由combiner进行进行一次本地聚合,减少mapper输出的list(key2,value2)的数量
三、对于mapper的的结果,然后在经过shuffle阶段由partitioner定义如何分配(key,value)给reducer作为输入(key2,list(value2))进行最后的合并,得到输出结果(key3,value3)
四、与InputFormat对应,如何将mapreduce的结果输出是由OutputFormat接口来定义的,每个reducer将自己的输入写入自己的文件中,而RecordWriter对象将输出结果进行格式化的
- Hadoop 键值对的mapreduce过程剖析
- Hadoop 键值对的MapReduce过程剖析
- Hadoop 键值对的mapreduce过程剖析
- hadoop的mapreduce过程
- hadoop非mapreduce过程对hdfs文件的读写
- 【Mapreduce】设置Mapreduce输出键值对的分隔符
- Hadoop MapReduce的shuffle过程
- Hadoop的MapReduce执行过程
- Hadoop - MapReduce MRAppMaster-剖析
- Hadoop - MapReduce MRAppMaster-剖析
- 对MapReduce过程的理解
- 剖析MapReduce过程
- 对hadoop 执行mapreduce时发生异常Illegal partition for的解决过程
- hadoop系列文档5-对官方MapReduce 过程的翻译(一)
- hadoop系列文档6-对官方MapReduce 过程的翻译(二)
- hadoop中mapreduce的执行过程
- hadoop MapReduce模型的shuffle过程
- Hadoop MapReduce 过程概述
- qt-solutions提供了8个开源项目
- 梯度提升树(GBDT)原理小结
- Oracle命令行导入导出远程服务器的表数据
- jquery UI拖拽插件Draggable的使用
- mount -t cgroup
- Hadoop 键值对的mapreduce过程剖析
- VMware Workstation创建新的虚拟机
- C++ 23树
- HTTP 状态码
- zookeeper授权
- 图的表现和实现2(邻接矩阵表表示法)
- JAVA防止盗链的小demo
- keras系列︱Application中五款已训练模型、VGG16框架(Sequential式、Model式)解读(二)
- SQL中两个关联表批量更新数据的方法