2020-09-11:Hive的优化策略有哪些?

举报
福大大架构师每日一题 发表于 2020/09/11 21:00:58 2020/09/11
【摘要】 福哥答案2020-09-11:#福大大架构师每日一题#[Hive调优及优化的12种方式](https://zhuanlan.zhihu.com/p/80718835?utm_source=qq)1.请慎重使用COUNT(DISTINCT col)。可以考虑使用Group By 或者 ROW_NUMBER() OVER(PARTITION BY col)方式代替COUNT(DISTINCT c...

福哥答案2020-09-11:#福大大架构师每日一题#


[Hive调优及优化的12种方式](https://zhuanlan.zhihu.com/p/80718835?utm_source=qq)

1.请慎重使用COUNT(DISTINCT col)。可以考虑使用Group By 或者 ROW_NUMBER() OVER(PARTITION BY col)方式代替COUNT(DISTINCT col)。

2.小文件会造成资源的多度占用以及影响查询效率。在数据源头HDFS中控制小文件产生的个数。

3.请慎重使用SELECT *。在查询数据表时,指定所需的待查字段名,而非使用 * 号。

4.不要在表关联后面加WHERE条件。采用谓词下推的技术,提早进行过滤有可能减少必须在数据库分区之间传递的数据量。

5.处理掉字段中带有空值的数据。

6.设置并行执行任务数。

7.设置合理的Reducer个数。

8.JVM重用。

9.为什么任务执行的时候只有一个reduce?避免使用全局排序,可以使用sort by进行局部排序。使用GROUP BY进行统计,不会进行全局排序。

10.选择使用Tez引擎。

11.选择使用本地模式。

12.选择使用严格模式。


[Hive 任务优化策略-整合,持续更新。](https://zhuanlan.zhihu.com/p/90953307)

1、好的模型设计事半功倍 。

2、解决数据倾斜问题 。

3、减少 job 数 。

4、设置合理的 MapReduce 的 task 数,能有效提升性能。(比如,10w+级别的计算,用 160个 reduce,那是相当的浪费,1 个足够) 。

5、了解数据分布,自己动手解决数据倾斜问题是个不错的选择。这是通用的算法优化,但算法优化有时不能适应特定业务背景,开发人员了解业务,了解数据,可以通过业务逻辑精 确有效的解决数据倾斜问题 。

6、数据量较大的情况下,慎用 count(distinct),group by 容易产生倾斜问题 。

7、对小文件进行合并,是行之有效的提高调度效率的方法,假如所有的作业设置合理的文 件数,对云梯的整体调度效率也会产生积极的正向影响 。

8、优化时把握整体,单个作业最优不如整体最优。


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。