hive-排序函数
·
排序
全局排序:order by
一个 reducer ,ASC :升序(默认), DESC :降序
部分排序: sort by
分区内有序,但是无法获知分区依据。常与distribute by 使用
步骤:
设置reduce个数:
hive (default)> set mapreduce.job.reduces=3;
查看reduce个数
hive (default)> set mapreduce.job.reduces;
执行SQL语句
hive (default)> select * from emp sort by empno desc;
查询结果导入到文件中
hive (default)> insert overwrite local directory '/opt/module/datas/sortby-result'
select * from emp sort by deptno desc;
分区排序:
类似MR中的partition,进行分区,需结合sort by 使用,先分区,后排序
hive (default)> set mapreduce.job.reduces=3;
hive (default)> insert overwrite local directory '/opt/module/datas/distribute-result' select * from emp distribute by deptno sort by empno desc;
Cluster by:
注:当distribute by和sorts by字段相同时,可以使用cluster by方式。
cluster by除了具有distribute by的功能外还兼具sort by的功能。但是排序只能是升序排序,不能指定排序规则为ASC或者DESC。
以下两种写法等价
hive (default)> select * from emp cluster by deptno;
hive (default)> select * from emp distribute by deptno sort by deptno;
更多推荐



所有评论(0)