Hive动态分区参数配置
往hive分区表中插入数据时,如果需要创建的分区很多,比如以表中某个字段进行分区存储,则需要复制粘贴修改很多sql去执行,效率低。因为hive是批处理系统,所以hive提供了一个动态分区功能,其可以基于查询参数的位置去推断分区的名称,从而建立分区。
使用动态分区表必须配置的参数
- set hive.exec.dynamic.partition =true(默认false),表示开启动态分区功能;
- set hive.exec.dynamic.partition.mode = nonstrict(默认strict),表示允许所有分区都是动态的,否则必须有静态分区字段;
动态分区相关调优参数
- set hive.exec.max.dynamic.partitions.pernode=100 (默认100,一般可以设置大一点,比如1000); 表示每个maper或reducer可以允许创建的最大动态分区个数,默认是100,超出则会报错。
- set hive.exec.max.dynamic.partitions =1000(默认值) ; 表示一个动态分区语句可以创建的最大动态分区个数,超出报错;
- set hive.exec.max.created.files =10000(默认) 全局可以创建的最大文件个数,超出报错

702

被折叠的 条评论
为什么被折叠?



