hive 求兩個集合的差集
業務場景是這樣的,這里由兩個hive表格A和B
A的形式大概是這樣的:uid
B的形式大概是這樣的:uid
我想要得到存在A中但是不存在B中的uid
具體代碼如下
select a.uid from
(select uid from tmp_zidali_500wan_fullinfo_new)a
left outer join
(select uid from temp_zidali_uid_num_maxvalue_rate)b
on a.uid=b.uid
where b.uid is null
在這里我要穿插一個非常重要的知識點,在A和Bjoin(不管是哪種join),在對結果表格取數據的時候,我們不能對結果表格進行一個()c這樣的操作。
錯誤代碼如下
select a.uid from (
(select uid from tmp_zidali_500wan_fullinfo_new)a
left outer join
(select uid from temp_zidali_uid_num_maxvalue_rate)b
on a.uid=b.uid
where b.uid is null
)c #這是錯誤的,不能這么做,為了這個錯誤,搞了三個小時去找這個錯誤代碼