首页/数据/数仓建模速查/大维度优化:编码与分桶
维度与事实设计149 条

大维度优化:编码与分桶

上亿行的客户/商品维度:代理键用整数或哈希、属性字典编码、按自然键哈希分桶,减少存储与 join 代价。

数仓建模速查数据更新于 2026-10-12
键bigint 或低碰撞哈希
编码高基数属性字典化
布局按 join 键分桶

分桶建表

分桶建表
CREATE TABLE dim_product (
  product_sk bigint, product_id string, product_name string
)
CLUSTERED BY (product_id) INTO 64 BUCKETS
STORED AS ORC;
分桶数要与事实表一致,才能做桶对桶 join 省 shuffle。

易错点

  • 维表与事实表分桶数不一致,桶 join 失效
  • 高基数字符串直接做 join 键,shuffle 巨大

数据来源与参考

  • Hive 语言手册:分桶表;Spark SQL 参考
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌