Hive QL Except子句

ses*_*ans 12 hive

如何EXCEPT在Hive QL中执行子句(如SQL)

我有2个表,每个表都是一列唯一的ID.

我想找到仅在表1中但不在表2中的ID列表

表格1

apple
orange
pear
Run Code Online (Sandbox Code Playgroud)

表2

apple
orange
Run Code Online (Sandbox Code Playgroud)

在SQL中你可以做一个EXCEPT子句(http://en.wikipedia.org/wiki/Set_operations_%28SQL%29),但你不能在Hive QL中做到这一点

Lar*_*cke 25

我不认为有任何内置的方法可以做到这一点但是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;
Run Code Online (Sandbox Code Playgroud)