| 原理 | 小表广播到 mapper |
|---|---|
| 收益 | 免 shuffle |
| 阈值 | hive.auto.convert.join.noconditionaltask.size |
| 风险 | 内存溢出 |
MapJoin 写法
MapJoin 写法
set hive.auto.convert.join=true;
set hive.auto.convert.join.noconditionaltask.size=26214400; -- 25MB
SELECT /*+ MAPJOIN(d) */ o.order_id, d.customer_name
FROM dwd_trade_order_di o
JOIN dim_customer d ON o.customer_sk = d.customer_sk
WHERE o.dt='2026-10-12';「小表」实际不小(统计信息过期)会导致 mapper 内存溢出,需要及时更新统计信息。