2012-06-04 17 views
7

Come faccio a fare una clausola except (come SQL) in Hive QLHive QL Salvo clausola

Ho 2 tabelle e ogni tabella è una colonna di ID univoci, voglio trovare l'elenco di ID che sono solo in tabella 1, ma non nella tabella 2

tabella 1 mela arancione pera

tabella 2 mela arancione

in SQL si può fare una clausola EXCEPT (http://en.wikipedia.org/wiki/Set_operations_%28SQL%29) ma non è possibile farlo in Hive QL

risposta

16

Non penso che ci sia alcun modo integrato per fare questo, ma un LEFT OUTER JOIN dovrebbe fare il trucco.

Questo seleziona tutti gli ID da table1 che fanno non esistono in table2:

SELECT t1.id FROM table1 t1 LEFT OUTER JOIN table2 t2 ON (t1.id=t2.id) WHERE t2.id IS NULL; 
+0

grazie, che mi ha dato quello che volevo – sesquipedalians