這Dataframe
更頻繁值:如何計算與考慮火花
+---+---+
| c1| c2|
+---+---+
| A| 1|
| A| 2|
| A| 1|
| B| 3|
| B| 4|
| B| 4|
+---+---+
我要計算每個值C1,C2
+---+---+
| c1| c2|
+---+---+
| A| 1|
| B| 4|
+---+---+
這裏的更頻繁的價值是我當前的代碼(Spark 1.6.0)
val df = sc.parallelize(Seq(("A", 1), ("A", 2), ("A", 1), ("B", 3), ("B", 4), ("B", 4))).toDF("c1", "c2")
df.groupBy("c1", "c2")
.count()
.groupBy("c1")
.agg(max(struct(col("count"), col("c2"))).as("max"))
.select("c1", "max.c2")
有沒有更好的方法?