hive教程:对查询结果进行排序(distribute by 和 sort by联合使用)

需要掌握:

hive教程:对查询结果进行排序(sort by)

hive教程:对查询结果进行排序(distribute by)

语法

distribute by 和 sort by联合使用。Hive 要求 distribute by 语句要写在 sort by 语句之前

select * from 表 distribute by 列名 sort by 列名 [asc/desc];

解释

  • distribute by:根据某一列的值,进行分发不同的 reduce

  • sort by:将每个reduce内的数据进行排序

例子

让同一部门的数据 进行 排序,那么就可以使用 distribute by 来保证具有相同 deptno 的数据分发到同一个reducer中进行处理,然后使用 sort by 对数据进行排序

insert overwrite local directory '/program/result_dist_sort/'
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
select ename,deptno,sal from emp distribute by deptno sort by sal desc;

原文出处:/show_1IXmZopOylB.html