一、动态分区理解
在实际场景,从数仓ods用户信息表(拉链表)中,按某个字段()
二、hive动态分区参数设置
(1)开启动态分区功能(默认 true,开启)
hive.exec.dynamic.partition=true
(2)设置为非严格模式(动态分区的模式,默认 strict,表示必须指定至少一个分区为静态分区,nonstrict 模式表示允许所有的分区字段都可以使用动态分区)
hive.exec.dynamic.partition.mode=nonstrict
(3)在所有执行 MR 的节点上,最大一共可以创建多少个动态分区。默认 1000。
hive.exec.max.dynamic.partitions=10000
(4)在每个执行 MR 的节点上,最大可以创建多少个动态分区。该参数需要根据实际的数据来设定。比如:源数据中包含了1000个id的数据,即id字段有 1000个值,那么该参数就需要设置成大于 1000,如果使用默认值 100,则会报错。
hive.exec.max.dynamic.partitions.pernode=1000
(5)整个 MR Job 中,最大可以创建多少个 HDFS 文件。默认100000。
hive.exec.max.created.files=100000
(6)当有空分区生成时,是否抛出异常。一般不需要设置。默认 false。
hive.error.on.empty.partition=false