如何在sparksql中获取current_date - 1
天,与mysql中的cur_date()-1
相同。
答案 0 :(得分:12)
算术函数允许您对包含日期的列执行算术运算。
例如,您可以计算两个日期之间的差异,将日期添加到日期或从日期中减去天数。内置日期算术函数包括datediff
,date_add
, date_sub
,add_months
,last_day
,
next_day
和months_between
。
除此之外我们需要的是
date_sub(timestamp startdate,int days),目的:减去指定的天数 来自TIMESTAMP值。第一个参数可以是一个字符串,即 如果它使用识别的格式,则自动转换为TIMESTAMP 在TIMESTAMP数据类型中描述。返回类型:时间戳
我们有
current_timestamp()目的:now()函数的别名。返回 type:timestamp
你可以选择
date_sub(CAST(current_timestamp() as DATE), 1)
请参阅https://spark.apache.org/docs/1.6.2/api/java/org/apache/spark/sql/functions.html
答案 1 :(得分:5)
答案 2 :(得分:4)
您可以轻松执行此任务,有许多与日期相关的方法,您可以在此处使用< 0
Spark-REPL上的示例:
Comparable<T>#compareTo(T)
答案 3 :(得分:0)
是的,date_sub()
函数是该问题的正确选择,无论如何,所选答案中存在错误:
返回类型:时间戳记
返回类型应该为date
,date_sub()函数将修剪时间戳的任何hh:mm:ss
部分,并且仅返回date
。