数据框中的交集

时间:2019-05-24 12:34:35

标签: scala apache-spark apache-spark-sql

我有一个具有以下格式的数据框。

ID | Value
1  | AAA
2  | XXX
3  | BBB
1  | XXX
2  | CCC
3  | DDD
1  | YYY
2  | DDD
3  | XXX

如何在ID中找到交集?

1 -> AAA,XXX,YYY
2 -> XXX,CCC,DDD
3 -> BBB,DDD,XXX

Expected result: XXX

非常感谢您!

1 个答案:

答案 0 :(得分:3)

stream()分组,并检查哪些组具有所有值

public A findAFromB(B b) {
    List<A> aList = aService.findAll();
    Optional<A> matchingObject = aList.stream()
        .filter(/*find whether a.getB().equals(b) OR a.getBSet().contains(b)*/)
        .getA();
    return (A) matchingObject.get();
}

输出:

Value