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 求差集的主要内容,如果未能解决你的问题,请参考以下文章

Hive 差集交集并集

两个集合求对称差集

Hive 差集运算

Hive差集运算详解

Hive 查询进阶笔记

arcgis怎么求差集