@tsing1226
2015-12-13T20:32:01.000000Z
字数 297
阅读 853
在hive中模式查询语句:
set hive.mapred.mode ;
对于分区表进行查询,在where子句没有加分区过滤的话,将禁止提交任务(默认是nonstrict),设置语句如下:
set hive.mapred.mode=strict;
注意:使用严格模式可以禁止3种类型的查询
*对于分区表,不加分区字段过滤条件,不能执行
*对于orderby语句,必须使用limit语句
*限制笛卡尔积的查询(join的时候不使用on,而使用where的)
strict模式在开发生产环境中运用能够很好的解决sql语句不规范,从而避免在运行时出现不能内存消耗过去、sql语句执行报错的问题。