读书人

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

发布时间: 2012-12-28 10:29:05 作者: rapoo

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语句进行了过滤。

读书人网 >编程

热点推荐