如何删除Hive中每个节点的分区限制?

时间:2016-09-25 17:06:56

标签: hadoop hive partitioning

我在Hive中有一个分区表。对于每个节点,我已将分区限制设置为2000。

set hive.exec.max.dynamic.partitions.pernode=2000

现在,在2000年之后,我遇到了一个问题。所以我想了解是否有可能消除这种限制?

我只是不想为hive.exec.max.dynamic.partitions.pernode设置任何值。它应该处理任意数量的分区。

有人可以帮我这个吗?

2 个答案:

答案 0 :(得分:3)

之前我遇到过这个问题。在SQL的末尾通过partition_column添加分发。

insert overwrite table table_A partition (date_id)
select xxxxxxxx
from table_B
distribute by date_id;

使用"按"分配,相同的date_id值将被混洗到一个reducer中。因此,reducer可以处理几个date_id而不是随机的date_id(这可能包括所有date_id)。

答案 1 :(得分:1)

据我所知,无法完成,Hive enforces可以创建动态分区数量的限制。据我所知,这个限制与每个分区存储在一个单独的HDFS目录中的事实有关,所以它们的数量在某种程度上是预先限制的,以防止出现性能问题。