hive 动态分区数设置

Posted 流浪在伯纳乌

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hive 动态分区数设置相关的知识,希望对你有一定的参考价值。

当对hive分区未做设置时,报错如下:

Caused by: org.apache.hadoop.hive.ql.metadata.HiveFatalException: [Error 20004]: Fatal error occurred when node tried to create too many dynamic partitions. The maximum number of dynamic partitions is controlled by hive.exec.max.dynamic.partitions and hive.exec.max.dynamic.partitions.pernode. Maximum was set to: 5000
at org.apache.hadoop.hive.ql.exec.FileSinkOperator.getDynOutPaths(FileSinkOperator.java:877)
at org.apache.hadoop.hive.ql.exec.FileSinkOperator.processOp(FileSinkOperator.java:657)
at org.apache.hadoop.hive.ql.exec.Operator.forward(Operator.java:815)
at org.apache.hadoop.hive.ql.exec.SelectOperator.processOp(SelectOperator.java:84)
at org.apache.hadoop.hive.ql.exec.mr.ExecReducer.reduce(ExecReducer.java:244)
... 7 more

超过了最大的分区数设置

解决办法:

set hive.exec.dynamic.partition=true;

set hive.exec.dynamic.partition.mode=nonstrict;

set hive.exec.max.dynamic.partitions.pernode=600000;

set hive.exec.max.dynamic.partitions=6000000;

set hive.exec.max.created.files=6000000;

以上是关于hive 动态分区数设置的主要内容,如果未能解决你的问题,请参考以下文章

Hive动态分区

Hive表的动态分区和静态分区

Hive 中的动态分区 - 使用一个固定列进行分区的缺点

Hive动态分区与静态分区,数据插入,区别

Hive动态分区报错

Hive 限制中的最大动态分区