新浪博客

hive中只有map没有reduce的任务优化

2015-02-02 14:55阅读:
hive中在做查询时,经常会碰到这种问题,任务只起map不起reduce; 环境:
hive
100出头的节点
7T左右的内存
basic表有300-400个分区,总数据量在6亿-7亿;
如下sql:
select * from basic_sum where user_log_acct='abcd';
这个sql只会起一个job,这个job只有map,没有reduce;输入数据较多,会比较慢;
可以对表进行distribute by,强制让其产生reduce;
优化后sql如下:
select * from basic_sum where user_log_acct='abcd' distribute by rand(1234);
这个sql会产生reduce;
具体效率如下:
hive中只有map没有reduce的任务优化 hive中只有map没有reduce的任务优化
hive中只有map没有reduce的任务优化

上图是优化前,下图是优化后,效率还是有明显的提升的;

我的更多文章

下载客户端阅读体验更佳

APP专享