欢迎投稿

今日深度:

hive的严格模式,

hive的严格模式,


 

在hive里面可以通过严格模式防止用户执行那些可能产生意想不到的不好的效果的查询,从而保护hive的集群。

用户可以通过 set hive.mapred.mode=strict 来设置严格模式,改成unstrict则为飞严格模式。  在严格模式下,用户在运行如下query的时候会报错。

1. 分区表的查询没有使用分区字段来限制。

select * from mart_catering.dim_shopca_reduction_ss limit 1000;

 

2. 使用了笛卡尔积

当用户写代码将表的别名写错的时候会引起笛卡尔积,例如

SELECT *
FROM origindb.promotion__campaign c
JOIN origindb.promotion__campaignex ce
ON c.id = c.id
limit 1000

3. order by 的时候没有使用limit

SELECT *
FROM origindb.promotion__campaign 
order by id

 

当使用的limit的时候错误消除。

总之:

hive的严格模式可以保护hive的集群不收损害。

在创建动态分区的时候,是要将hive的严格模式设置为非严格模式的。

www.htsjk.Com true http://www.htsjk.com/hive/34027.html NewsArticle hive的严格模式,   在hive里面可以通过严格模式防止用户执行那些可能产生意想不到的不好的效果的查询,从而保护hive的集群。 用户可以通过 set hive.mapred.mode=strict 来设置严格模式,改...
相关文章
    暂无相关文章
评论暂时关闭