【发布时间】:2021-07-05 01:45:37
【问题描述】:
我正在尝试获取从当前日期到前 3 年的日期范围 之前 3 年的数据应该从 1 月 1 日开始。 下面是我试过的代码sn-p。
dateDF = spark.sql("select current_date() as current_date, add_months(current_date(),-36) as end_date")
dateDF = dateDF.withColumn("end_date_first_date", F.trunc("end_date", "month")).withColumn("end_date_first_date_first_month",lit(''))
dateDF.show()
+------------+----------+-------------------+-------------------------------+
|current_date| end_date|end_date_first_date|end_date_first_date_first_month|
+------------+----------+-------------------+-------------------------------+
| 2021-04-09|2018-04-09| 2018-04-01| |
+------------+----------+-------------------+-------------------------------+
在这里我可以得到第一次约会,但我怎样才能得到第一个月。有没有预定义的函数?
预期输出
+------------+----------+-------------------+-------------------------------+
|current_date| end_date|end_date_first_date|end_date_first_date_first_month|
+------------+----------+-------------------+-------------------------------+
| 2021-04-09|2018-04-09| 2018-04-01| 2018-01-01 |
+------------+----------+-------------------+-------------------------------+
【问题讨论】:
标签: dataframe apache-spark date pyspark apache-spark-sql