我使用 Spark 1.6.2。
我需要找到每组的最大计数。
val myData = Seq(("aa1", "GROUP_A", "10"),("aa1","GROUP_A", "12"),("aa2","GROUP_A", "12"),("aa3", "GROUP_B", "14"),("aa3","GROUP_B", "11"),("aa3","GROUP_B","12" ),("aa2", "GROUP_B", "12"))
val df = sc.parallelize(myData).toDF("id","type","activity")
让我们首先计算每组的观察次数:
df.groupBy("type","id").count.show
+-------+---+-----+
| type| id|count|
+-------+---+-----+
|GROUP_A|aa1| 2|
|GROUP_A|aa2| 1|
|GROUP_B|aa2| 1|
|GROUP_B|aa3| 3|
+-------+---+-----+
这是预期的结果:
+--------+----+-----+
|type | id|count|
+----+--------+-----+
| GROUP_A| aa1| 2|
| GROUP_B| aa3| 3|
+--------+----+-----+
我试过这个,但它不起作用:
df.groupBy("type","id").count.filter("count = 'max'").show