Hive调优

1.使用explain 和 explain extended

expain select * from dual;
expain extended select * from dual;

2.限制调整 limit

在使用Limit 时只输出了指定行数,但在很多情况下Limit语句还是会执行整个语句,再返回部分结果,可以设置抽样,避免这种情况。

<property>
  <name>hive.limit.optimize.enable</name>
  <value>true</value>
</property>

<property>
  <name>hive.limit.row.max.size</name>
  <value>10000</value>
</property>

<property>
  <name>hive.limit.row.min.size</name>
  <value>10</value>
</property>

缺点
一些数据永远不会被处理,就是有后续处理的,因为前一阶段把一些数据排除在外了。
例如: 有reduce阶段,join和group by,还有大部分聚合函数。

3.本地模式

永久配置:

##  hive-site.xml
<property>
  <name>hive.exec.mode.local.auto</name>
  <value>true</value>
</property>

启动时:

 $ hive hive.exec.mode.local.auto=true

执行过程临时启用本地模式

长呀,不想打,多几个  set  用的不多

4.并行执行

    原文作者:钰独行
    原文地址: https://www.jianshu.com/p/65c835d972a1
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞