前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >2020-09-11:Hive的优化策略有哪些?

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

原创
作者头像
福大大架构师每日一题
修改2020-09-14 10:15:32
3110
修改2020-09-14 10:15:32
举报
文章被收录于专栏:福大大架构师每日一题

福哥答案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、优化时把握整体,单个作业最优不如整体最优。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档