首页/数据/数仓建模速查/Hive 排序三兄弟:ORDER/DISTRIBUTE/SORT BY
湖仓与引擎63 条

Hive 排序三兄弟:ORDER/DISTRIBUTE/SORT BY

ORDER BY 全局有序但单 reducer;SORT BY 局部有序;DISTRIBUTE BY 按列分发到 reducer;CLUSTER BY 等价于 DISTRIBUTE BY 加 SORT BY(升序)。

数仓建模速查数据更新于 2026-10-12
ORDER BY全局有序+单 reducer
SORT BY局部有序
DISTRIBUTE BY只分发不排序
CLUSTER BY分发+升序排序

组合使用

组合使用
SELECT store_id, order_id, pay_amt
FROM dwd_trade_order_di
WHERE dt='2026-10-12'
DISTRIBUTE BY store_id
SORT BY pay_amt DESC;
大表用 ORDER BY 会退化成单 reducer,数据量大时几乎跑不完。

易错点

  • 大表 ORDER BY 导致单点瓶颈

数据来源与参考

  • Apache Hive 官方文档:LanguageManual SortBy
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌