1、set hive.auto.convert.join=true
设置此参数可以在最大表通过mapper的时候将小表完全放入内存中,从而省略掉常规reduce过程,有时可以减少map过程步骤,启动时执行优化放入 $HOME/.hiverc文件中
用户可以配置小表大小(字节)
hive.mapjoin.smalltable.filesize=25000000
hive对于右外连接和全外链接不支持这个优化
2、set mapred.reduce.tasks=300
限制reduce个数为300,等于-1取消限制,限制reduce的个数可以减少内存的使用,防止内存溢出
本文转自 yntmdr 51CTO博客,原文链接:http://blog.51cto.com/yntmdr/1718614,如需转载请自行联系原作者