| 分区 | 按 dt 一级分区常见,必要时加二级(region/hour) |
|---|---|
| 分桶 | 按 user_id 等散列,桶数取 2 的幂较整齐 |
| 收益 | 分区裁剪减少扫描,分桶提升连接与采样效率 |
| 代价 | 小分区过多会增加存储与元数据压力 |
分区分桶建表
分区分桶建表
CREATE TABLE dwd_trade_order_detail_di (
order_id BIGINT, user_id BIGINT, pay_amount DECIMAL(18,2)
)
PARTITIONED BY (dt STRING)
CLUSTERED BY (user_id) INTO 64 BUCKETS
STORED AS ORC;查询要显式带分区条件(如 dt='2026-10-11'),否则全表扫描,分区设计等于白做。