首页 > 解决方案 > Apache Hive 分区和分桶结构

问题描述

在 Apache Hive 中,目录结构在对巨大的数据集进行分区然后分桶后如何看待?

对于 Ex - 我有一个国家/地区的客户数据集,数据按州分区,然后按城市分桶。我们如何知道一个城市存储桶中将存在多少个文件?

标签: hivehiveql

解决方案


一个分区就是一个目录,每个分区对应一个分区列的具体值。

在表或分区/目录中,存储桶被组织为文件。桶的数量是在创建表时预定义的CLUSTERED BY (sth) INTO K BUCKETS。每个单独的存储桶将有一个文件。Hive根据bucketed列计算的hash值将记录分配给bucket,并以bucket的数量K取一个mod。


推荐阅读