分享

hive处理数据的时候 reduce 99%的时候很慢,优化要从那方面入手呢?

desehawk 发表于 2014-5-13 18:41:26 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 2 43486
请教大家一个问题 .hive处理数据的时候 reduce 99%的时候很慢.这总情况,优化要从那方面入手呢?

本帖被以下淘专辑推荐:

已有(2)人评论

跳转到指定楼层
hyj 发表于 2014-5-13 18:43:03

优化可以从几个方面着手:
1.       好的模型设计事半功倍。
2.       解决数据倾斜问题。
3.       减少job数。
4.       设置合理的map reducetask数,能有效提升性能。(比如,10w+级别的计算,用160reduce,那是相当的浪费,1个足够)
5.       自己动手写sql解决数据倾斜问题是个不错的选择。set hive.groupby.skewindata=true;这是通用的算法优化,但算法优化总是漠视业务,习惯性提供通用的解决方法。 Etl开发人员更了解业务,更了解数据,所以通过业务逻辑解决倾斜的方法往往更精确,更有效。
6.       对count(distinct)采取漠视的方法,尤其数据大的时候很容易产生倾斜问题,不抱侥幸心理。自己动手,丰衣足食。
7.       对小文件进行合并,是行至有效的提高调度效率的方法,假如我们的作业设置合理的文件数,对云梯的整体调度效率也会产生积极的影响。
8.       优化时把握整体,单个作业最优不如整体最优。
更多可参考
hive优化----hive使用经验

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条