hive 求差集
Posted 扎心了老铁
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hive 求差集相关的知识,希望对你有一定的参考价值。
hive求差集的方法
1、什么是差集
set1 - set2,即去掉set1中存在于set2中的数据。
2、hive中计算差集的方法,基本是使用左外链接。
直接上代码
select * from table1 t1 left outer join table2 t2 on t1.id = t2.id where t2.id = null;
3、一般来说我们要先去重,使得两个表都变成集合,元素唯一。
先对table2(右表)去重然后再计算差集。
select * from
(
select * from table1 where year=2017 and month=07 and day=01
) t1
left outer join
(
select * from (select *,row_number() over(partition by id) num from table2 where year=2017 and month=07 and day=01) t where t.num =1) t2
on t1.id = t2.id where t2.id==null;
以上是关于hive 求差集的主要内容,如果未能解决你的问题,请参考以下文章