Как я могу отсортировать rdd [(int, (val1, val2))] по значению 2, если в качестве опции доступен только sortbykey?

У меня есть Rdd[(Int, (val1, val2))], который я хочу отсортировать по val2, но единственный доступный вариант - это SortByKey. Доступен ли SortBy только в более старых версиях scala? Есть ли другой вариант, кроме как собрать его водителю?

В коде я делаю только:

val nonslack = slacks.filter(x=> Vlts.contains(x._1))

где Vlts - это Array[Int], а slacks - это rdd, прочитанный из файла.

Разве вы не можете использовать для этого фрейм данных? как sort или orderBy

1pluszara 13.09.2018 21:55
0
1
55
1

Ответы 1

В RDD есть sortBy:

val rdd = spark.sparkContext.parallelize(Seq(("one", ("one" -> 1)), ("two", ("two" -> 2)), ("three", ("three" -> 3))))

rdd.sortBy(_._2._2).collect().foreach(println(_))

есть идеи, почему у меня нет такой опции?

Tmpoul 13.09.2018 21:19

пожалуйста, отредактируйте свой вопрос и включите в него код

Emiliano Martinez 13.09.2018 22:27

Другие вопросы по теме