У меня есть фрейм данных:
val df = Seq(
("A",11,5),
("A",12,10),
("A",13,1),
("B",11,5),
("B",14,5),
("B",13,5)
).toDF("id","type","value")
df.groupBy($"id").agg(collect_set("value")).show(false)
+---+------------------+
|id |collect_set(value)|
+---+------------------+
|B |[5] |
|A |[1, 5, 10] |
+---+------------------+
Мне нужно отфильтровать идентификаторы (или количество уникальных идентификаторов), у которых все значения в наборе меньше 5 (или любого числа). Например, В вышеупомянутой df
только B имеет все значения меньше 5.
Может кто-нибудь сказать мне, как мне это сделать?