`

Hive 优化-限制用户误交大作业查询

    博客分类:
  • Hive
阅读更多

最近有些同事些sql进行查询时,sql语句里不指定partition字段,这样直接造成hive生成Hadoop的MapReduce任务时查询的数据量巨大,从而影响整个集群的性能。经研究可以通过配置Hive参数来预防此类错误,从而达到优化的目的。

在hive-site.xml中添加以下配置:

<property>
<name>hive.mapred.mode</name>                                                  
<value>strict</value>
</property>

这样,在提交类似一下SQL(where中不指定partition条件)时,将会抛出错误而不执行该sql:

hive> select *from access_raw limit 10;
FAILED: Error in semantic analysis: No partition predicate found for Alias "access_raw" Table "access_raw"

而正确书写SQL的方法为:

hive> select *from access_raw where log_date='2012-08-10' limit 10;

这样,就对sql语句进行了过滤。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics