我在hive中使用静态分区根据日期字段将数据分离到子目录中,每个表需要365个分区/年(总共14个表),因为我每天都会加载到配置单元中。
可以在配置单元中创建的静态分区数量有限制吗?
如果“hive.exec.max.dynamic.partitions.pernode”,动态分区会出错 超过sqoop import中指定的thresold(100)
我有5个节点的HDP群集,其中3个是数据节点
如果增加可以在配置单元中创建的分区数,是否会妨碍集群的性能?
这种限制仅适用于动态分区,还是适用于静态?
参考
检查故障排除和最佳做法部分 https://cwiki.apache.org/confluence/display/Hive/Tutorial
请建议
答案 0 :(得分:1)
对于日期字段的分区,最好的方法是根据年/月/日进行分区。
那就是说,根据您的要求,您应该选择分区策略。 除非直到您进行分区,否则对分区数量没有限制。这意味着不必要地创建了太多的分区,每个分区都存储了非常少量的数据。
关于错误,您可以通过增加数量来修复它。 您可以在配置单元中设置hive.exec.max.dynamic.partitions.pernode。
希望这有帮助。