hive 动态分区参数设置

使用Hive动态分区需要注意设定以下参数:

1.是否开启动态分区功能,默认false关闭。 
默认值:false

hive.exec.dynamic.partition =false
1
使用动态分区时候,该参数必须设置成true;

hive.exec.dynamic.partition =true
1
2.动态分区的模式: 
默认值:strict

hive.exec.dynamic.partition.mode = strict
1
动态分区的模式为strict,表示必须指定至少一个分区为静态分区, 
nonstrict模式表示允许所有的分区字段都可以使用动态分区。一般需要设置为nonstrict

hive.exec.dynamic.partition.mode = nonstrict
1
3.在每个执行MR的节点上,最大可以创建多少个动态分区。 
默认值:100

hive.exec.max.dynamic.partitions.pernode =100
1
该参数需要根据实际的数据来设定。 
比如:源数据中包含了一月的数据,即day字段有31个值,那么该参数就需要设置成大于31。使用默认值100,则会报错。 
4.在所有执行MR的节点上,最大一共可以创建多少个动态分区。 
默认值:1000

hive.exec.max.dynamic.partitions =1000
1
5.整个MR Job中,最大可以创建多少个HDFS文件。 
默认值:100000 一般默认值足够了,除非你的数据量非常大, 
需要创建的文件数大于100000,可根据实际情况加以调整。

hive.exec.max.created.files = 100000
1
6.当有空分区生成时,是否抛出异常。 
默认值:false

hive.error.on.empty.partition
 

猜你喜欢

转载自blog.csdn.net/sinat_17697111/article/details/84841699