一般我们在使用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
本文介绍了在使用 Hive 进行数据处理时,如何有效地实现两个数据集之间的差集操作。通过 left semi join 和 left outer join 的具体示例展示了实现 A 集合减去 B 集合的方法。
271

被折叠的 条评论
为什么被折叠?



