hive中实现差集等操作

一般我们在使用hive进行处理两个数据集的使用经常会遇到处理两个数据集的求差集的问题

经过测试提供几个解决方案:

test1

a       1
b       2
c       1

test_2

a       22
c       55

1) 这里我们就要介绍一个hive的 关键字(left semi join)他解决的问题是:IN/EXISTS

例子1:

      	select test_1.id, test_1.num from test_1 left semi join test_2 on (test_1.id = test_2.id);
             结果:

a       1
c       1

         2) left outer join 解决 A差B的问题:

例子2::

          select test_1.id, test_1.num from test_1 left outer join test_2 on (test_2.id = test_2.id) where test_2.num is null;
  结果:

b       2

展开阅读全文

没有更多推荐了,返回首页