Hadoop-MapReduce

来源:互联网 发布:农村淘宝和阿里巴巴 编辑:程序博客网 时间:2024/05/22 15:42

1. Hadoop生态圈


2. Hadoop核心模块

Hadoop Common: 为其他Hadoop模块提供基础设施。
Hadoop HDFS: 一个高可靠、高吞吐量的分布式文件系统
Hadoop MapReduce:一个分布式的离线并行计算框架
Hadoop YARN:一个新的MapReduce框架,任务调度与资源管理

3. HDFS


DataNode:用来保存数据块,提供数据的查询,并定期向NameNode发送请求,确认存活及文件的正确性,通过校验码对比。默认每个数据块64M。

NameNode:文件系统树以及文件树中所有的文件和文件夹的元数据(会被保存到硬盘),记录着每个文件中各个块所在的数据节点的位置信息

4. MapReduce

1. python MapReduce

2. Hadoop MapReduce

Map任务处理

① 读取输入文件内容,解析成<key1, value1>
② 重写map方法,编写业务逻辑输出新的<key2, value2>
③ 对<key2, value2>进行排序,写入HDFS


Reduce任务处理
 
①对多个map任务的输出<key2, value2>,按照不同的分区,通过网络copy到不同的reduce节点 
②对<key2, value2>进行合并、排序。重写reduce函数,对输入的<key2, value2>处理,<key3, value3>
③把reduce的输出保存到HDFS中

3. MapReduce demo




a. 运行程序,该过程必须保证output目录不存在,且为空,要不然会出现如下错误


b. 删除output目录,运行jar文件





0 0
原创粉丝点击