首页 > 代码库 > Hive的严格模式
Hive的严格模式
在hive里面可以通过严格模式防止用户执行那些可能产生意想不到的不好的效果的查询,从而保护hive的集群。
用户可以通过 set hive.mapred.mode=strict 来设置严格模式,改成unstrict则为飞严格模式。 在严格模式下,用户在运行如下query的时候会报错。
1. 分区表的查询没有使用分区字段来限制。
select * from mart_catering.dim_shopca_reduction_ss limit 1000;
得到的错误是
CliDriver update main thread name to 4105daa5-e5a7-49d6-8e02-52c9184732f916/08/29 11:20:54 INFO CliDriver: CliDriver update main thread name to 4105daa5-e5a7-49d6-8e02-52c9184732f9Logging initialized using configuration in jar:file:/opt/meituan/versions/mthive-0.13-package/lib/hive-common-0.13.1.jar!/hive-log4j.propertiesFAILED: SemanticException [Error 10041]: No partition predicate found for Alias ‘dim_shopca_reduction_ss‘ Table ‘dim_shopca_reduction_ss‘query fails
2. 使用了笛卡尔积
当用户写代码将表的别名写错的时候会引起笛卡尔积,例如
SELECT *FROM origindb.promotion__campaign cJOIN origindb.promotion__campaignex ceON c.id = c.idlimit 1000
得到的错误信息
CliDriver update main thread name to 9a962abc-afea-470f-9738-dceda72ff1fd16/08/29 11:38:23 INFO CliDriver: CliDriver update main thread name to 9a962abc-afea-470f-9738-dceda72ff1fdLogging initialized using configuration in jar:file:/opt/meituan/versions/mthive-0.13-package/lib/hive-common-0.13.1.jar!/hive-log4j.propertiesFAILED: SemanticException [Error 10052]: In strict mode, cartesian product is not allowed. If you really want to perform the operation, set hive.mapred.mode=nonstrictquery fails
3. order by 的时候没有使用limit
SELECT *FROM origindb.promotion__campaign order by id
得到的错误信息
CliDriver update main thread name to 5efafee6-1ce8-4985-9b98-c8f5ff88bccd16/08/29 11:40:45 INFO CliDriver: CliDriver update main thread name to 5efafee6-1ce8-4985-9b98-c8f5ff88bccdLogging initialized using configuration in jar:file:/opt/meituan/versions/mthive-0.13-package/lib/hive-common-0.13.1.jar!/hive-log4j.propertiesFAILED: SemanticException 3:9 In strict mode, if ORDER BY is specified, LIMIT must also be specified. Error encountered near token ‘id‘query fails
当使用的limit的时候错误消除。
Hive的严格模式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。