Не могу отсортировать по дате правильно - PullRequest
1 голос
/ 08 ноября 2019

Вместо того, чтобы упорядочивать по дням, это упорядочивать по месяцам.

Я пробовал str_to_date, но не в spark sql, и пытался повторить date_format в order by безуспешно

enter image description here

Ответы [ 2 ]

0 голосов
/ 08 ноября 2019

попробуйте следующий код

import org.apache.spark.sql.functions._

spark.sql("""
  SELECT TO_DATE(CAST(UNIX_TIMESTAMP(ttr.created_at, 'dd/MM/yyyy') AS TIMESTAMP)) AS data from dl_wallet.tb_transaction as ttr order by data desc """
).show()
0 голосов
/ 08 ноября 2019

Когда вы форматируете дату в виде строк, сортировка выполняется по порядку строк. Одним из решений является изменение формата таким образом, чтобы сначала был год, затем месяц, а затем день. Лучший способ - упорядочить по столбцу «Дата» (ttr.created_at), а не по отформатированной строке.

...