13

EXCEPTHive QL で句 (SQL など)を実行する方法

2 つのテーブルがあり、各テーブルは一意の ID の列です。

テーブル 1 のみにあり、テーブル 2 には含まれていない ID のリストを見つけたい

表1

apple
orange
pear

表 2

apple
orange

SQL では EXCEPT 句 ( http://en.wikipedia.org/wiki/Set_operations_%28SQL%29 ) を実行できますが、Hive QL では実行できません。

4

2 に答える 2

27

これを行う組み込みの方法はないと思いますがLEFT OUTER JOIN、トリックを行う必要があります。

これにより、に存在しtable1ないすべての ID が選択されtable2ます。

SELECT t1.id FROM table1 t1 LEFT OUTER JOIN table2 t2 ON (t1.id=t2.id) WHERE t2.id IS NULL;
于 2012-06-04T22:58:50.980 に答える
2

Hive でNOT EXISTS句をMINUSに相当するものとして使用できます。

SELECT t1.id FROM t1 WHERE NOT EXISTS (SELECT 1 from t2 WHERE t2.id = t1.id);
于 2020-05-27T10:42:39.650 に答える