分布式计算框架MapRenduce

1. 起源

·进入web2.0时代数据指数及增长

·单机存储不能满足需求

·受到Google论文启发用java实现MapReduce

2. MapReduce是一种模型

map、与reduce的实现类 是一条一条的进行处理。

3. 特点

·分布可靠

·封装细节

·跨语言编程

4. 主要功能

1)数据划分和计算任务调度

2)数据代码互相定位

3)系统优化

4)错误检查及恢复

5. 作业流程

1)提交作业代码,对数据源进行切片处理

2)Master调度worker执行map任务

3)worker读取切片数据

4)worker执行完map任务,将处理后的数据存入本地

5)Master调度worker执行reduce任务

6)worker读取map任务输出的文件,将输出数据上传到HDFS

6. Mapper阶段输出的数据 到 Reducer阶段reduce前 的过程称为shuffle

7. Api实现

1、搭建环境

2、编写mapper、reducer、Driver代码

3、maven 打包项目

4、上传到运行环境 rz -bye xxx

5、运行程序

具体提交命令为:

yarn jar TlHadoopCore-jar-with-dependencies.jar driver.WordCountDriver/tmp/xuyunfeng/shuzhi.txt/tmp/xuyunfeng3

6、查看运行结果

(x-shell端查看)

hdfs dfs -ls /user/xuyunfeng/03-daily_expense.txt

hdfs dfs -cat /user/xuyunfeng/03-daily_expense.txt/*