看完务必总结,要时刻清醒的知道自己在干嘛,这次不会再倒回去看了,最多没听懂课程的部分记个结论就赶紧过。(屁股要坐得住,学习一开始都会浮躁个10来分钟的,这时候不要着急,先从一些很简单的学习任务开始,没听懂也没关系不用给压力。等过了这10多分钟,就开始进入学习节奏了,后面你想出来都难,但是要注意一天不要反复退出学习节奏,因为进去一次比较麻烦的。)
1.26
16点23分,听了一小时多了,决定休息一下。听个音乐刷个微博,16点40分回来继续。
hadoop day4
03:(1)理解了maptask的切片原则
- 一个Job启动几个Map由提交job时设置的切片数决定
- 每一个切片split分配一个MapTask处理
- 默认情况,切片大小=BlockSize
- 切片时不考虑数据集整体,只逐个针对单个文件
(2)了解了客户端怎么提交job的源码(后面可以参考word文档再看)
- 提交job分一下几步:检查job状态--》设置使用新api--》连接集群--》提交job给集群
- 其中提交job的过程又分为以下几步:检查job输出--》获取临时文件夹--》获取job ID--》向临时文件夹写jar包、切片信息、配置文件--》提交
04:理解了Inputformat要做的第一件事 切片规则:具体规则去看一下Mapreduce word文档里面切片的源码,视频里没有细细总结
注意下数据块是严格按照128M切的,但是一个Map如果处理到了150M的数据,可以把程序下发到两个节点上,分别处理128M和另外22M。
05 Inputformat概述,没听到睡着了,以后会重新听。
06 各种InputFormat实现类,睡着了,以后可以慢慢听。
07 自定义InputFormat实操,InputFormat就包括两件事,切片和转化文本为一组kv值。
RecordReader负责输出kv值,k是文本的偏移量,v是一行文档吧(TextInputFormat中)。
- 自定义IinputFormat实例,需要继承FileInputFormat 实现RecordReader方法 自定义RecordReader实例,需要继承RecordReader,并实现6个方法:
- initialize、close
- getProgress 获取当前切片拆分为kv对的进度
- nextKeyValue 是否还有下一个可以拆分为kv的内容
- getNextKey getNextValue 获取