学习 Hive(九):排序

ORDER BY

Hive 中 ORDER BY 的行为与关系型数据库的 ORDER BY 行为一致,实现了数据集的全局排序,支持升序(ASC)和降序(DESC)。

SORT BY

Hive 中的 SORT BY 实现了数据集的 Map 排序,为每个 reducer 产生一个排序文件,支持升序(ASC)和降序(DESC)。如果只有一个 reducer(通过 SET mapred.reduce.tasks=1),那么 SORT BYORDER BY 的效果是相同的。

DISTRIBUTE BY

Hive 中的 DISTRIBUTE BY 实现了数据集的 Map 重分区,保证字段值相同的行在同一个 reducer。

CLUSTER BY

Hive 中的 CLUSTER BY 结合了 SORT BYDISTRIBUTE BY,实现了数据集的局部排序,支持升序(ASC)和降序(DESC)。

参考