Hive学习总结-调优篇

本文主要介绍了Hive的调优技巧,包括使用Explain查看执行计划,理解Fetch任务和本地模式,探讨了HIVE分桶表的优化,如Join的三种实现方式,以及如何处理数据倾斜问题。此外,还讨论了合理设置Map和Reduce数量,开启并行执行,启用严格模式,JVM重用和压缩等关键调优策略。
摘要由CSDN通过智能技术生成

Hive学习总结-调优篇

仅为调优检索,只列举大致思路,不包含具体调优操作

10.1-10.3 Explain-Fetch-本地模式

执行计划(Explain)查看下面这条语句的执行计划

explain select * from emp;

Fetch 抓取: Hive 中对某些情况的查询可以不必使用MapReduce 计算

例如:SELECT * FROM employees, 在这种情况下,Hive 可以简单地读取 employee 对应的存储目录下的文件, 然后输出查询结果到控制台。

在 hive-default.xml.template 文件中 hive.fetch.task.conversion 默认是 more,老版本 hive默认是 minimal,该属性修改为 more 以后,在全局查找、字段查找、limit 查找等都不走 mapreduce。

本地模式

大多数的 Hadoop Job 是需要 Hadoop 提供的完整的可扩展性来处理大数据集的。不过,有时 Hive 的输入数据量是非常小的。在这种情况下,为查询触发执行任务消耗的时间可能会比实际 job 的执行时间要多的多。对于大多数这种情况,Hive 可以通过本地模式在单台机器上处理所有的任务。对于小数据集,执行时间可以明显被缩短。 用户可以通过设置 hive.exec.mode.local.auto 的值为 true,来让 Hive 在适当的时候自动启动这个优化。

10.4 HIVE分桶表_三种join实现

hive 提供了三种join方式,common join; map join; smb join

  1. common join

    特点:最常见的join 类型,需要执行shuffle操作,根据join条件对数据进行重新分布

    适用场景:两表数量都不大的场景

    缺点

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值