基于字符串列值的配置单元bucketing

ia2d9nvy  于 2021-06-24  发布在  Hive
关注(0)|答案(1)|浏览(288)

我知道我们可以基于列对配置单元表进行分区,并通过静态或动态分区应用筛选器来插入记录。
但是如果我需要基于一个特定的列值进行bucket,我该怎么做呢?假设我有来自500个不同国家的用户username string country string
如果我需要创建一个配置单元表并根据国家/地区将其存储起来,这是可能的吗?最好每个国家一桶。

rks48beu

rks48beu1#

是的,您需要根据国家对数据进行分类。你需要根据国家的总数来定义桶的数量。
例如,如果有来自500个国家的数据,则应执行以下操作:

create table (
 name string,
 country string
) clustered by (country) into 500 buckets;

但话说回来,我建议你 dynamic partitioning 为了更好的查询计划。

相关问题