order by
全排序
reduce数只有一,不管设置没设置。
select d.name,e.name from dept d left join emp e on d.id = e.deptId order by d.id;
sort by
分区排序,通常与distribute by 连用
查看reduce数
set mapreduce.job.reduces;
设置reduce数
set mapreduce.job.reduces=3;
查询
select * from dept sort by dept.deptno;
distribute by
设定以什么分区
同样的设置reduce数
set mapreduce.job.redueces=6;
distribute by + sort by;
select d.no,d.name,e.no,e.name from dept d left join emp e on d.eno = e.no distribute by dept.no sort by e.no;
cluster by
相当于使用同一标准的distribute by + sort by;
例如:
select d.*,e.* from dept d left join emp e on d.eno = e.no
cluster by d.no;
select d.*,e.* from dept d left join emp e on d.eno=e.no
distribute by d.no sort by d.no;