设置为严格模式后,可以禁止3种类型的查询
带有分区的表的查询
如果在一个分区表执行hive,除非where语句中包含分区字段过滤条件来显示数据范围,否则不允许执行。换句话说就是在严格模式下不允许用户扫描所有的分区,进行这个限制的原因是,通常分区表都拥有非常大的数据集,而且数据增加迅速。如果不进行分区限制的查询会消耗巨大的资源来处理
带有orderby的查询
对于使用了orderby的查询,要求必须有limit语句。因为orderby为了执行排序过程会讲所有的结果分发到同一个reducer中 进行处理,强烈要求用户增加这个limit语句可以防止reducer额外执行很长一段时间
限制笛卡尔积的查询
原文:https://www.cnblogs.com/xiangyuguan/p/11416295.html