2013-04-16 46 views
0

我有一個配有字段'a'(int),'b'(字符串),'c'(bigint),'d'(bigint)和'e'(字符串)的配置單元表。
我有這樣的數據:使用HiveQL進行重複數據刪除

a b c d e 
--------------- 
1 a 10 18 i 
2 b 11 19 j 
3 c 12 20 k 
4 d 13 21 l 
1 e 14 22 m 
4 f 15 23 n 
2 g 16 24 o 
3 h 17 25 p 

表是在關鍵的 'B' 來分類的。
現在,我們要輸出象下面這樣:

a b c d e 
--------------- 
1 e 14 22 m 
4 f 15 23 n 
2 g 16 24 o 
3 h 17 25 p 

將重點進行重複數據刪除「一」,但將保留最後的(最新的)「B」。

是否有可能使用Hive查詢(HiveQL)?

+0

這可以在一個非常簡單的地圖來表示/縮小僅具有映射工作。 – Olaf

+0

但我需要使用HIVE來做到這一點 – chanchal1987

回答

1

如果B柱是獨一無二的,儘量遵循HQL:

select 
* 
from 
(
    select max(b) as max_b 
    from 
    table 
    group by a 
) table1 
join table on table1.max_b = table.b