hadoop—使用配置单元对包含数字的字符串列进行排序

bybem2ql  于 2021-07-13  发布在  Hadoop
关注(0)|答案(0)|浏览(137)

我已经创建了一个配置单元表

CREATE external TABLE test.partordtst (name string,age string,priority string) 
ROW FORMAT DELIMITED 
FIELDS TERMINATED BY '~' 
LOCATION '/DataprovidersDEV/Tom/Hive/Test/';

用于创建表的文件中的值如下所示

jijo~10~10
jijo~10~2
jijo~10~3
jijo~09~2
jijo~08~3
jijo~07~4
jijo~06~5
jijo~05~6

我编写了一个查询来选择分区中优先级最低的记录

select * from 
(
select partordtst.*,row_number() over(partition by name,age order by priority asc) rn
from partordtst
)abc
where rn=1
order by name,age;

我得到的结果如下

jijo    05      6       1
jijo    06      5       1
jijo    07      4       1
jijo    08      3       1
jijo    09      2       1
jijo    10      10      1

在输出中,我期望以下值

jijo    10      2      1

而不是

jijo    10      10      1

为什么Hive没有做正确的分类。准确地说,为什么 asc 不工作?。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题