группа данных спарк scala - PullRequest
       39

группа данных спарк scala

0 голосов
/ 17 октября 2019

У меня есть требование подсчитать количество вхождений пары в первом и втором столбцах и отсортировать по убыванию. если в подсчете есть связь, сначала перечислите пару с наименьшим номером во втором столбце.

работает ниже, за исключением части выключателя связи. первая строка должна быть 1,2,3 до н.э. в _c1 2 меньше 4, и они оба имеют одинаковое количество. как мне заказать по счету 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|
+---+---+-----+

1 Ответ

3 голосов
/ 18 октября 2019

Попробуйте добавить count по Desc и _c2 по asc к условию order by.

new_df.groupBy($"_c0",$"_c1").count().orderBy($"count".desc, $"c2".asc).limit(10).show()

Сделайте это в том порядке, в котором вы хотите применить правила. в приведенном выше примере он будет упорядочен сначала по count, а затем c2

...