Scala 具有当前日期的Spark数据框+;10
我有一些销售数据,并使用CSV文件创建了DataFrame。在这个数据框中,我需要添加两个额外的列Scala 具有当前日期的Spark数据框+;10,scala,date,apache-spark,apache-spark-sql,Scala,Date,Apache Spark,Apache Spark Sql,我有一些销售数据,并使用CSV文件创建了DataFrame。在这个数据框中,我需要添加两个额外的列process\u date和next\u processing\u date。这样写: baseData.withColumn("Return_Grace_period", current_date()).withColumn("Next_processing_date", current_date() + 10).show() 此处current_date()+10引起问题。在oracle中,
process\u date
和next\u processing\u date
。这样写:
baseData.withColumn("Return_Grace_period", current_date()).withColumn("Next_processing_date", current_date() + 10).show()
此处current_date()+10
引起问题。在oracle中,我们可以使用10来获取下一个日期。如何在Spark中执行此操作?您可以使用此功能为日期添加天数:
baseData.withColumn("Next_processing_date", date_add(current_date(), 10))
相反,要减去天数,可以使用匹配的
date\u sub
函数。谢谢,但是scala sql表示法导致了问题。这样写的基本数据。选择($“Sales”,“$”current_date“)。as(“processing_date”),$“date_add(current_date(),2))。as(“grace_period”)。show()@LearnHadoop:date_add
不是一列,因此不能在此处使用$
符号。您可以将其写成:baseData。选择($“销售”,当前日期().as(“处理日期”),日期添加(当前日期(),2)).as(“宽限期”).show()
。非常感谢先生。。谢谢你的帮助