Hive 限制中的最大动态分区
Posted
技术标签:
【中文标题】Hive 限制中的最大动态分区【英文标题】:maximum dynamic partitions in Hive limit 【发布时间】:2019-10-18 21:25:50 【问题描述】:我在查询中使用动态分区。我收到以下错误:-
ERROR Failed with exception Number of dynamic partitions created is 9000, which is more than 5000
我知道有很多关于这个主题的帖子。为hive.exec.max.dynamic.partitions
设置更高的值应该会处理好它。我的问题不同。我试图理解错误的确切含义。此限制是否仅适用于单个作业,即单个作业不能创建超过 5000 个动态分区?或者是一个表级别的限制,一个定义了动态分区的表,总共不能超过5000个这样的分区?
【问题讨论】:
【参考方案1】:此限制适用于单个作业,而不适用于表。 您可以查看 Hive 测试来验证这一点。
https://github.com/apache/hive/blob/8dc40db5f90ca9491b643f70e2344decbd2ad8f5/ql/src/test/queries/clientnegative/dyn_part1.q
【讨论】:
所以没有表级别限制? 是的,据我所知没有限制。如果您正在读取许多分区,则会对性能产生影响。 Hive 将元数据存储在 RDBMS 中,因此速度应该足够快,并且您应该在 Hadoop 集群中拥有足够的资源。以上是关于Hive 限制中的最大动态分区的主要内容,如果未能解决你的问题,请参考以下文章