hive中数据排序

来源:互联网 发布:什么叫编程 编辑:程序博客网 时间:2024/05/29 03:40

(1)order by

对全局数据的排序,只有一个reduce

select * from emp order by id desc;

(2)sort by

对每个reduce内部数据进行排序,对于全局数据结果来说不是排序的。

//设置reduce的个数set mapreduce.job.reduces=3;select * from emp sort by id desc;

(3)distribute by

指定分区,这里的分区指的时mapreduce过程中的分区,通常结合sort by进行使用。

insert overwrite local directory '/path' select * from emp distribute by depmo sort by empno asc;

这里的分区会将相同的depno记录放在一个分区中。
注意:distribute by必须在sort by之前。

(4)cluster by

属于distribute by和sort by的组合,也就是当distribute by和sort by字段相同时候使用这个进行代替。

原创粉丝点击