1. 在Hadoop 上运行一个Job, 主要就是MR,而MR的优化就是主要的关键。
从六个方面考虑:数据输入、Map阶段、Reduce阶段、IO传输、数据倾斜问题和常用的调优参数
InputFormat: CombineTextInputFormat作为输入,解决大量小文件场景.
Map阶段:调整 io.sort.mb、sort.spil.percent,增大spill内存上限,减少Spill次数。
调整 io.sort.factor,增大Merge的数目,减少Merge次数,缩短MR处理时间。
不影响业务情况下,先Commbine处理,减少 I/O 。Reduce阶段:合理设置Reduce个数,
调整slow start comp letedmaps参数,使Map运行到一定程度后,Reduce也运行起来.
如何可以,规避使用Reduce。I/O 传输:a. 采用数据压缩 b. 使用SequenceFile二进制文件.
数据倾斜:a.自定义分区 b.抽样和范围划分 c.Commbine d.使用MapJoin 不用 ReduceJoin
常用调优:有点多,表格先放置。
2. Hadoop常用案例
不是很实用,有好的上新。
3. 补充考察点
Sparkshuffle和hadoopshuffle原理、对比