如何系统地优化 hive sql?
一般套路是啥? 请大神不吝赐教。。
如何系统地优化 hive sql?
一般套路是啥? 请大神不吝赐教。。
join时小表使用map端join,当然现在新版的hive都是自动开启的
多使用子查询
分区表必须指定分区
数据格式使用ORC格式
查询小文件时使每个map读多个文件,避免产生过多的map
可以使用桶表做查询文件的限制
可以给无修改数据的hive表创建所引
使用窗口函数进可适用增加map或reducer的内存
mapper输出必须开启压缩
shuffle数据倾斜时使用随机key前缀均衡倾斜的key,当然对于数据倾斜最好的方案还是让被查询的表不倾斜。
暂时想到这么多,当然以上都是针对mapreducer计算引擎的。
hive on spark最主要是GC调优,shuffle的优化等等