是否有任何pyspark函数可用于添加下个月,例如DATE_ADD(date,month(int type))
问题内容:
我是spark的新手,是否有任何内置函数将显示当前日期的下个月日期,例如今天是27-12-2016,那么该函数将返回27-01-2017。我已经使用date_add()但没有添加月份的功能。我已经尝试过date_add(date,31)但是如果月份有30天呢?
spark.sql("select date_add(current_date(),31)") .show()
谁能帮助我解决这个问题。我需要为此编写自定义函数吗?因为我仍然没有找到任何内置代码,所以在此先感谢Kalyan
问题答案:
这不是pyspark
特定的。您可以使用add_months
。从 Spark 1.5开始 可用。例如:
spark.sql("select current_date(), add_months(current_date(),1)").show()
# +--------------+-----------------------------+
# |current_date()|add_months(current_date(), 1)|
# +--------------+-----------------------------+
# | 2016-12-27| 2017-01-27|
# +--------------+-----------------------------+
您还可以使用负整数删除月份:
spark.sql("select current_date(), add_months(current_date(),-1) as last_month").show()
# +--------------+----------+
# |current_date()|last_month|
# +--------------+----------+
# | 2016-12-27|2016-11-27|
# +--------------+----------+