gpt4 book ai didi

sorting - 如何在 Hive 中对文件进行重复数据删除并保持原始排序顺序?

转载 作者:可可西里 更新时间:2023-11-01 16:47:28 25 4
gpt4 key购买 nike

我的数据已经按 last_column 降序和 third_column 降序排序。我想在保持原始排序顺序的同时,对基于 last_column 的数据集进行去重。所以对于每个 last_column,我想要最终输出中的第一行。我需要使用 Hive 来实现这一点。我的数据是:

10009,12/3/1959,Rodney,Purtle,M,8/28/1986,d007
10010,5/1/1954,Ahishek ,Kumar,M,12/1/1986,d007
10011,1/21/1955,Abhilash,Whatever,M,9/12/1989,d007
10016,5/1/1954,Ross,Hupchuck,M,12/1/1986,d006
10008,1/21/1955,Michael ,Gross,M,9/12/1989,d006
10014,1/21/1955,John ,Talburt,M,9/12/1989,d006
10013,5/1/1954,John,Doe,M,12/1/1986,d006
10015,12/3/1959,Daniel ,Pullen,M,8/28/1986,d006

期望的输出:

10009,12/3/1959,Rodney,Purtle,M,8/28/1986,d007
10016,5/1/1954,Ross,Hupchuck,M,12/1/1986,d006

我当前的代码:

select * 
from
(select *, row_number() over (partition by last_column order by desc)as r from table_name)s
where r = 1;

我得到的输出是:

10014   1/21/1955   John    Talburt M   9/12/1989   d006    1
10010 5/1/1954 Ahishek Kumar M 12/1/1986 d007 1

任何人都可以帮助并建议我可能做错了什么吗?

最佳答案

@Utsav 您可以尝试以下查询:

select * from (select *, row_number() over (partition by last_column order by third_column desc)as r from table_name)s where r=1 order by last_column desc;

希望对您有所帮助!

关于sorting - 如何在 Hive 中对文件进行重复数据删除并保持原始排序顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35927818/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com