我在hive中使用静态分区来根据日期字段将数据划分到子目录中,每个表每年需要365个分区(总共14个表),因为我每天都要将数据加载到hive中。
在配置单元中可以创建的静态分区的数量有限制吗?
如果“hive.exec.max.dynamic.partitions.pernode”超过sqoop导入中指定的thresold(100),则动态分区会出错
我有5个节点的hdp集群,其中3个是datanodes
如果我增加可以在配置单元中创建的分区的数量,会影响集群的性能吗?
这个限制是只适用于动态分区还是也适用于静态分区?
参考
检查故障排除和最佳实践部分https://cwiki.apache.org/confluence/display/hive/tutorial
好心的建议
1条答案
按热度按时间ulmd4ohb1#
对于基于日期字段的分区,最好的方法是基于年/月/日进行分区。
也就是说,应该根据您的需求选择分区策略。分区的数量没有限制,除非分区过度。这意味着不必要地创建太多分区,每个分区存储的数据量非常小。
关于这个错误,你可以通过增加数字来修正它。可以在配置单元中设置hive.exec.max.dynamic.partitions.pernode。
希望这有帮助。