[Hive_9] Hive 的排序

Posted share23

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Hive_9] Hive 的排序相关的知识,希望对你有一定的参考价值。


0. 说明

 

 


1. 前期准备

  1.1 建表

create table user_order(id int, name string, age int, province string, city string)
row format delimited
fields terminated by ;

 

  1.2 设置 reduce 个数

set mapreduce.job.reduces=2;

 

 

2. 全排序(order by)


   一个 reduce,在真实使用中,需要加 limit 限制。

truncate table user_order;
insert into user_order select * from user_par order by id;

 


 

3. 部分排序(sort by )

  在每个 reduce 中分别排序

truncate table user_order;

insert into user_order select * from user_par sort by id;

 


 

 

4. hash分区(distribute by )

 

truncate table user_order;

insert into user_order select * from user_par distribute by id;

 


 


cluster by = distribute by + sort by
truncate table user_order;
insert into user_order select * from user_par cluster by id;

 

 

 

 

 


 







以上是关于[Hive_9] Hive 的排序的主要内容,如果未能解决你的问题,请参考以下文章

Hive进阶_Hive数据查询

CDH6.2.1的hive 2.1.1升级到2.3.9后的beeline报错处理

HIVE分组排序问题

1hive实现全排序

对行进行排序时优化 Hive GROUP BY

记录 odps(hive) 的oom