首页/数据/数仓建模速查/分桶表:join 优化与采样
分层与规范64 条

分桶表:join 优化与采样

分桶按哈希把数据切成固定数量文件,同键落入同桶:桶内 join 可减少 shuffle,桶表也支持高效抽样;桶数是表属性,需与下游一致。

数仓建模速查数据更新于 2026-10-12
作用同键同桶
收益桶 join 与抽样
约束写入端需开启分桶
桶数与数据量匹配

分桶表

分桶表
set hive.enforce.bucketing=true;
CREATE TABLE dwd_trade_order_bucket (
  order_id STRING,
  customer_sk BIGINT,
  pay_amt DECIMAL(18,2)
)
CLUSTERED BY (customer_sk) INTO 32 BUCKETS
STORED AS ORC;
桶表与分区可以叠加;改桶数属于结构性变更,要评估下游所有 join 任务。

易错点

  • 桶数随意调整,下游桶 join 全部失效退化

数据来源与参考

  • Hive 官方文档:LanguageManual DDL BucketedTables
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌