2011-09-13 13 views
11

Sto eseguendo Hive 071 Ho una tabella, con più righe, con lo stesso valore di colonna ad es.Distinto su colonna specifica in Hive

x | y | 
--------- 
1 | 2 | 
1 | 3 | 
1 | 4 | 
2 | 2 | 
3 | 2 | 
3 | 1 | 

voglio avere la colonna x unica, e rimuovere le righe che hanno lo stesso x val esempio

x | y | 
--------- 
1 | 2 | 
2 | 2 | 
3 | 2 | 

o

x | y | 
--------- 
1 | 4 | 
2 | 2 | 
3 | 1 | 

sono entrambi buoni opere distinti solo sugli interi rs in alveare, non riuscivo a trovare un modo per farlo

aiuto per favore Tx

+3

possibile duplicato di [Distinto su colonna specifica in Hive] (http://stackoverflow.com/questions/7401818/distinct-on-specific-column-in-hive) – Mat

+0

Qualche risoluzione per questo problema? – frugalcoder

risposta

1

È possibile utilizzare la parola chiave distinta:

SELECT DISTINCT x FROM table 
+3

questo è problematico, dal momento che ho bisogno di ricevere sia X che Y ma con X distinto. In alcuni DB questo può essere fatto usando "select distinct on x, y from tabel", ma il supporto per l'hive dosent "distinto su" – Tomer

+0

Ha funzionato per me, grazie! – Srekk

-2

prova seguente query per ottenere il risultato:

selezionare A.x, A.y da (selezionare x, y, rango() su (partizione per ordine x per y) come classificati dal testingg) A dove classificato = 1;

Problemi correlati