使用 hive 对包含数字的字符串列进行排序

问题描述

我已经创建了一个 hive 表

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 不起作用?。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...