HIVE动态分区

 

使用分区是为了提高,对数据的查询,分析效率。

一,动态分区

hive有动态分区和静态分区,选用什么分区要根据是数据来决定。

比如: 你有一份业务数据而且每天都有很多增量,那么怎么保证长时间积累下来的大量数据,对此就要用分区来提高查询。

这是你的数据中有时间字段,那么你就可以按时间分区,此时开启动态分区载入数据,hive会帮你按照设置好的分区自动划分数据,而不需要你再像静态分区一样手动的指定数据存入哪一分区。

 

开启动态分区:

1.设置参数(有3种设置hive参数的方式,这里使用set方式设置)

修改为: set   hive.exec.dynamic.partitoin=true;

默认:false

此参数是开启hive的动态分区支持

 

修改为: set    hive.exec.dynamic,partition.mode=nostrict;

默认:strict (默认是严格模式——即至少要有一个分区列为静态分区)

此参数是关闭hive的严格模式

 

现在就可以使用动态分区了。

 

另外的相关参数:

set hive exec.max.dynamic.partition.pernode;

>在一个执行节点上,允许创建的动态分区的最大量(默认100)

set hive.exec.max.dynamic.partition;

>在所有执行节点上,允许创建的动态分区的最大量(默认10000)

set hive.exec.max.created.files;

>所有mr job允许创建的文件的最大数量(默认100000)

以上参数根据实际请款调节

 

 

 

 

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭