我知道我们可以基于列对配置单元表进行分区,并通过静态或动态分区应用筛选器来插入记录。但是如果我需要基于一个特定的列值进行bucket,我该怎么做呢?假设我有来自500个不同国家的用户username string country string如果我需要创建一个配置单元表并根据国家/地区将其存储起来,这是可能的吗?最好每个国家一桶。
rks48beu1#
是的,您需要根据国家对数据进行分类。你需要根据国家的总数来定义桶的数量。例如,如果有来自500个国家的数据,则应执行以下操作:
create table ( name string, country string ) clustered by (country) into 500 buckets;
但话说回来,我建议你 dynamic partitioning 为了更好的查询计划。
dynamic partitioning
1条答案
按热度按时间rks48beu1#
是的,您需要根据国家对数据进行分类。你需要根据国家的总数来定义桶的数量。
例如,如果有来自500个国家的数据,则应执行以下操作:
但话说回来,我建议你
dynamic partitioning
为了更好的查询计划。