hive中实现差集等操作


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

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

test1

b       2
c       1

test_2

c       55

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

例子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;
  结果:

相关内容