spark sql中可以使用except来获得两组数据的交集
SELECT * FROM student_1
EXCEPT
SELECT * FROM student_2;
你如果是某一行中的某一列是个数组,把它展开成多行后再用上面这个方法一样可以得出交集,即explode +except +collect_list
当然,也可以直接用数组函数得到交集
这个和spark sql没关系呀,主要就是后端操作,spark sql只负责取出和存储,以Java语言基础为例,先将数组array转变成list集合,可以使用Arrays.asList(array)获得集合listA,同理另一个就是listB,取出交集利用retainAll方法代码如下
listA.retainAll(listB);
System.out.println(listA);
当然python作为基础或者scala也都有各自的方法
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!