hdfs—在hadoop中,按日期划分表是个坏主意吗?

9ceoxa92  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(309)

我正在阅读罗伯托在下面的帖子中给出的答案。
在配置单元中对表进行分区和bucketing有什么区别?
而且,随着时间的推移对数据进行分区(如果我的数据每天都有)似乎不是一个好主意,因为它最终会在hdfs中创建许多目录和文件,并且会降低查询的整体性能?
在我有业务需求的情况下,我应该怎么做?在这种情况下,查询数据将更经常地使用日期?

rjzwgtxy

rjzwgtxy1#

使用日期作为分区绝对没有错。实际上,它是最常用的分区值之一。一年增加365个目录不会对集群的性能产生任何影响。
至于改变文件的数量:如果你每天都在接收数据,那么不管你是否按日期分区,文件的数量都不会改变。唯一的区别是文件存储在哪个目录中。考虑到您将经常根据日期进行查询,您绝对应该根据日期进行分区。
roberto的观点是正确的,但他所说的情况是,您拥有的分区远多于您考虑使用的分区。据hortonworks的一位员工说:
带有rdbms元存储后端的当前配置单元版本应该能够处理10000多个分区。
所以你应该按日期划分,但是在你的待办事项中添加一个jira标签,在300年后重新评估这个问题。

相关问题