找出成员满足条件的整个分组

某 csv 文件由学生姓名和学生的多次成绩组成。

Name,Score

A,17

A,19

A,22

B,17

B,15

C,22

D,19

E,22

E,22

要求:用 Java 找出至少有一次成绩大于等于 20 的学生的所有记录。

Name

Score

A

17

A

19

A

22

C

22

E

22

E

22

编写SPL语句:

=T(""d:\\data.csv"").group(Name).select(~.count(Score>=20)>0).conj()

函数T将文件解析为二维表,group分组并保持每组数据,~表示当前组,count算出符合条件的记录的数量。

Java 集成 SPL 可参考 Java 如何调用 SPL 脚本
问题来源:https://stackoverflow.com/questions/75799714/spark-java-group-by-and-filter-on-custom-condition