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*fromaccess_rawlimit10;
FAILED:Errorinsemanticanalysis:NopartitionpredicatefoundforAlias"access_raw"Table"access_raw"
而正确书写SQL的方法为:
hive>select*fromaccess_rawwherelog_date='2012-08-10'limit10;
这样,就对sql语句进行了过滤。
相关推荐
archive 2020-07-30
成长之路 2020-07-28
eternityzzy 2020-07-19
taisenki 2020-07-05
tugangkai 2020-07-05
SignalDu 2020-07-05
zlsdmx 2020-07-05
tomson 2020-07-05
tugangkai 2020-07-04
tomson 2020-07-05
Zhangdragonfly 2020-06-28
genshengxiao 2020-06-26
成长之路 2020-06-26
tomson 2020-06-26
蜗牛之窝 2020-06-26
成长之路 2020-06-25