【发布时间】:2017-12-25 16:39:45
【问题描述】:
我在 spark sql 中按操作分组。其中某些行包含具有不同 ID 的相同值。在这种情况下,我想选择第一行。
这是我的代码。
val highvalueresult = highvalue.select($"tagShortID", $"Timestamp", $"ListenerShortID", $"rootOrgID", $"subOrgID", $"RSSI_Weight_avg")
.groupBy("tagShortID", "Timestamp").agg(max($"RSSI_Weight_avg")
.alias("RSSI_Weight_avg"))
val t2 = averageDF.join(highvalueresult, Seq("tagShortID", "Timestamp", "RSSI_Weight_avg"))
这是我的结果。
tag,timestamp,rssi,listner,rootorg,suborg
2,1496745906,0.7,3878,4,3
4,1496745907,0.6,362,4,3
4,1496745907,0.6,718,4,3
4,1496745907,0.6,1901,4,3
在上面的时间戳1496745907的结果中,三个listner的rssi值相同。在这种情况下,我想选择第一行。
【问题讨论】:
-
你要找的正是那个链接
标签: scala apache-spark apache-spark-sql