无法正确按日期排序

时间:2019-11-08 17:02:05

标签: apache-spark apache-spark-sql databricks

不是按天排序,而是按月排序。

我尝试过str_to_date,但在spark sql中没有,并且尝试在date_format中重复order by,但没有成功

enter image description here

2 个答案:

答案 0 :(得分:0)

当您将日期格式化为字符串时,将按字符串顺序进行排序。一种解决方案是更改格式,以便首先出现年份,然后是月份,然后是日期。更好的方法是按“日期”列(ttr.created_at)而不是格式化的字符串排序。

答案 1 :(得分:0)

尝试以下代码

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()