我有与交易相关的庞大数据集。我需要从transaction_date(每天增加)或状态(有限数量)中选择分区列。这是理想的选择,为什么?
答案 0 :(得分:0)
选择transaction_date作为分区列的缺点: (1)可能导致HDFS开销的小目录。
使用州的优势: (1)目录数量将被修复。
这完全取决于如何形成查询以供执行。 如果您的查询包含transaction_date的filter子句且没有分区,那么整体执行将会很慢。
此外,创建分区并不能保证更快的执行速度。 对于数据量较少的分区,与数据量较高的分区相比,搜索结果将更快地返回。
答案 1 :(得分:0)
理想的选择是将状态作为分区列,因为分区根据不同的值创建不同的文件夹。因此,文件夹数=状态数,因此存储到Namenode的元数据信息将更少。
但是如果考虑交易日期,那么每天都会有一个新文件夹,这将在某个时间点降低Namenode的性能。