У меня есть Dataframe как тоКак добавить условие сортировки в Спарк Dataframe
+-------------------+----+
|DATE |CODE|
+-------------------+----+
|2015/02/30-14:32:32|xv |
|2016/02/30-12:50:11|val2|
|2016/02/30-12:50:11|val2|
|2016/02/30-12:50:11|val2|
|2015/01/30-10:45:16|val2|
|2016/02/30-07:45:26|cv |
|2016/02/30-12:50:11|val1|
|2016/02/30-12:50:11|val1|
|2016/02/30-12:50:11|val1|
|2016/02/30-12:50:11|val3|
|2016/02/30-12:50:11|val3|
|2015/01/30-10:45:16|val1|
|2015/11/30-04:45:19|sd |
|2015/05/23-10:32:16|val2|
|2016/09/30-14:45:58|cv |
|2015/08/30-15:45:00|rt |
|2016/01/30-10:35:31|cv |
|2016/06/30-20:35:30|xv |
|2015/05/23-10:32:16|val1|
|2016/07/19-22:05:48|rt |
+-------------------+----+
Я использую этот код для сортировки по дате моего Exemple
val df = sc.parallelize(Seq(
("2015/02/30-14:32:32", "xv"),
("2016/02/30-12:50:11", "val2"),
("2016/02/30-12:50:11", "val2"),
("2016/02/30-12:50:11", "val2"),
("2015/01/30-10:45:16", "val2"),
("2016/02/30-07:45:26", "cv"),
("2016/02/30-12:50:11", "val1"),
("2016/02/30-12:50:11", "val1"),
("2016/02/30-12:50:11", "val1"),
("2016/02/30-12:50:11", "val3"),
("2015/01/30-10:45:16", "val3"),
("2015/11/30-04:45:19", "sd"),
("2015/05/23-10:32:16", "val2"),
("2016/09/30-14:45:58", "cv"),
("2015/08/30-15:45:00", "rt"),
("2016/01/30-10:35:31", "cv"),
("2016/06/30-20:35:30", "xv"),
("2015/05/23-10:32:16", "val1"),
("2016/07/19-22:05:48", "rt")
)).toDF("DATE", "CODE")
val df_sorted = df.sort("DATE")
df_sorted show false
я получить этот результат:
+-------------------+----+
|DATE |CODE|
+-------------------+----+
|2015/01/30-10:45:16|val3|
|2015/01/30-10:45:16|val2|
|2015/02/30-14:32:32|xv |
|2015/05/23-10:32:16|val2|
|2015/05/23-10:32:16|val1|
|2015/08/30-15:45:00|rt |
|2015/11/30-04:45:19|sd |
|2016/01/30-10:35:31|cv |
|2016/02/30-07:45:26|cv |
|2016/02/30-12:50:11|val3|
|2016/02/30-12:50:11|val1|
|2016/02/30-12:50:11|val2|
|2016/02/30-12:50:11|val2|
|2016/02/30-12:50:11|val1|
|2016/02/30-12:50:11|val2|
|2016/02/30-12:50:11|val1|
|2016/06/30-20:35:30|xv |
|2016/07/19-22:05:48|rt |
|2016/09/30-14:45:58|cv |
+-------------------+----+
Я хочу добавить условия сортировки. Я хочу, чтобы все мои кода начинающуюся Вэл в следующем порядке: val2, val1, val3, если они имеют ту же дату YYYY/MM/DD-чч: мм: сс и получить этот результат:
+-------------------+----+
|DATE |CODE|
+-------------------+----+
|2015/01/30-10:45:16|val2|
|2015/01/30-10:45:16|val1|
|2015/02/30-14:32:32|xv |
|2015/05/23-10:32:16|val2|
|2015/05/23-10:32:16|val1|
|2015/08/30-15:45:00|rt |
|2015/11/30-04:45:19|sd |
|2016/01/30-10:35:31|cv |
|2016/02/30-07:45:26|cv |
|2016/02/30-12:50:11|val2|
|2016/02/30-12:50:11|val2|
|2016/02/30-12:50:11|val2|
|2016/02/30-12:50:11|val1|
|2016/02/30-12:50:11|val1|
|2016/02/30-12:50:11|val1|
|2016/02/30-12:50:11|val3|
|2016/02/30-12:50:11|val3|
|2016/06/30-20:35:30|xv |
|2016/07/19-22:05:48|rt |
|2016/09/30-14:45:58|cv |
+-------------------+----+
У вас есть Есть идеи?
Мне пришлось сделать мой пример более сложным, чтобы разоблачить мою проблему. У меня был код val3, чтобы уточнить, что мой тип c'ant должен быть только desc или asc –
@ a.moussa, я не знаю, чего вы пытаетесь достичь, но это звучит смешно. Сделайте одну вещь, создайте дополнительный столбец, присвойте числовое значение каждому значению в любом порядке, чем вы хотите сортировать по новому столбцу? Например, каждый новый столбец 1 столбца val2, каждый новый столбец столбца val1, val 3 -> 3. И так далее. Чем сортировать по новой колонке. –
Хорошо, это сработало. :П –