1.jobs数比较多的作业运行效率比较低
2.sum,count,max,min等UDAF,hadoop优化不怕数据倾斜问题
3.set hive.groupby.skwindata=true(通用算法,不能适应特定业务背景)
4.根据数据量合理设置mapreduce的task数
5.对小文件
6.列裁剪
7.分区裁剪
排序优化
distribute by:现在组内分组sort by,然后再order by
order by:实现全组排序,一个reduce实现,效率低
Sort by :实现部分有序,单个reduce输出的结果是有序的,效率高,通常和DISTRIBUTE BY关键字一起使用(DISTRIBUTE BY关键字 可以指定map 到 reduce端的分发key)
CLUSTER BY: col1 等价于DISTRIBUTE BY col1 SORT BY col1