[英]spark scala dataframe groupBy and orderBy
我需要计算第一列和第二列中pair的出现次数并按降序排序。 如果计数中存在平局,请首先在第二列中列出具有最小数字的对。
以下工作,除了决胜局部分。 _c1 中的第一行应该是 1,2,3 bc 2 小于 4 并且它们的计数相同。 我如何按 count desc 和 c2 asc 排序?
new_df.groupBy($"_c0",$"_c1").count().orderBy($"count".desc).limit(10).show()
+---+---+-----+
|_c0|_c1|count|
+---+---+-----+
| 1| 4| 3|
| 1| 2| 3|
| 4| 1| 2|
| 3| 1| 2|
| 3| 4| 2|
| 2| 1| 2|
| 2| 4| 1|
| 1| 7| 1|
| 7| 2| 1|
| 2| 7| 1|
+---+---+-----+
尝试将 Desc 的 count 和 asc 的 _c2 添加到 order by 子句。
new_df.groupBy($"_c0",$"_c1").count().orderBy($"count".desc, $"c2".asc).limit(10).show()
按照您希望应用规则的顺序执行此操作。 在上面的例子中,它会先按count排序,然后是c2
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.