【发布时间】:2020-01-26 22:59:48
【问题描述】:
在 Apache Hive 中,目录结构在对庞大的数据集进行分区然后分桶后如何看待?
对于 Ex - 我有一个国家/地区的客户数据集,数据按州分区,然后按城市分桶。我们如何知道一个城市存储桶中将存在多少个文件?
【问题讨论】:
在 Apache Hive 中,目录结构在对庞大的数据集进行分区然后分桶后如何看待?
对于 Ex - 我有一个国家/地区的客户数据集,数据按州分区,然后按城市分桶。我们如何知道一个城市存储桶中将存在多少个文件?
【问题讨论】:
一个分区就是一个目录,每个分区对应一个分区列的具体值。
在表或分区/目录中,存储桶被组织为文件。使用CLUSTERED BY (sth) INTO K BUCKETS 创建表时预定义了桶的数量。每个单独的存储桶将有一个文件。 Hive根据bucketed列计算的hash值将记录分配给bucket,并以bucket的数量K取一个mod。
【讨论】:
最大分桶数为 256 。更多详情请参考以下链接:
[What is the difference between partitioning and bucketing a table in Hive ?
【讨论】: