strict 严格模式
strict场景:表中数据及分区个数都非常大,执行一个包含所有分区的查询会触发巨大的MapReduce任务,非常耗时耗资源。此时,将hive设置为“strict”模式,若查询未指定分区否则执行sql会报错。
语法:set hive.mapred.mode=strict;
查看表中所有分区可用 show partitions table
命令
设置严格模式可以禁止3种类型的查询
其一,对于分区表,除非where语句中含有分区字段过滤条件来限制数据范围,否则不允许执行;
其二,对于使用order by语句的查询,要求必须使用limit语句;
其三,限制笛卡尔积的查询,join查询时条件要写在on后面,而非where后面。
hive strict 严格模式禁止的3种查询类型
最新推荐文章于 2023-04-28 10:29:50 发布