hive表格取差集


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 #这是错误的,不能这么做,为了这个错误,搞了三个小时去找这个错误代码


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM