大数据第七次课笔记

第七次课
mapTask的处理流程:
1.确定要进行计算的数据在DataNode的哪个目录下
2.遍历该目录下的每一个文件
3.遍历第一个文件,获取文件大小(300M)
4.根据文件大小计算切片数量,每个切片的最大大小是128M,300M的数据需要三个切片
5.根据切片数量开启mapTask进程,需要3个切片,会开启3个mapTask进程
6.将切片信息写入到MRAppMaster中

Shuffle:描述数据从mapTask到reduceTask之间的过程。

Shuffle的Map端的工作:
在内存缓冲区的数据写入到本地磁盘文件之间,对数据按key进行排序。
将数据划分到不同的Reduce中去,达到负载均衡。

MapReduce程序的编写分为3部分:
Mapper:Mapper中输入的数据是Text类的对象,在map()方法中要将Text转换成String,对String中的数据,通过map()方法的Context对象,将数据转换成kv的格式,方式是 context.write(new Text(word), new IntWritable(1));
Reducer:将map中输出的key,value进行计算,调用reduce()方法,继承Reducer类
Driver:相当于客户端,入口类,描述任务的信息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值