无题智汇君2025-07-02大数据-hivehive.mapred.mode 严格模式123456789hive> set hive.mapred.mode;hive.mapred.mode is undefined未定义即为false,即no-strict模式。开启严格模式:set hive.mapred.mode=strict;关闭严格模式:set hive.mapred.mode=undefined; 123456781.对分区表的查询必须使用到分区相关的字段分区表的数据量通常都比较大,对分区表的查询必须使用到分区相关的字段,不允许扫描所有分区,想想也是如果扫描所有分区的话那么对表进行分区还有什么意义呢。2.order by必须带limit因为要保证全局有序需要将所有的数据拉到一个Reducer上,当数据集比较大时速度会很慢。个人猜测可能是设置了limit N之后就会有一个很简单的优化算法:每个Reducer排序取N然后再合并排序取N即可,可大大减少数据传输量3. 禁止笛卡尔积查询(join必须有on连接条件)join必须带有on连接条件,不允许两个表直接相乘