可以强制开启排序
set hive.enforce.sorting=true;
或者使用其他sql的实现
使用其他sql的实现
set mapreduce.job.reduces=4;
创建表
create table if not exists buc3(
sno int,
sname string,
sex string,
sage int,
sdept string
)
clustered by (sno) sorted by (sage desc) into 4 buckets
row format delimited
fields terminated by ','
stored as textfile
;
加载数据
insert overwrite table buc3
select * from t_stu
distribute by (sno) sort by (sage desc)
;
select * from buc3;
****************************************
要保证有序,reduce数量必须和分桶数量一致
可以使用
set hive.enforce.sorting=true;
insert overwrite table buc2
select * from t_stu
cluster by (sno)
;
这种实现也保证数据是有序的

1万+

被折叠的 条评论
为什么被折叠?



