Python pyspark:使用 F.current_date() 筛选当前日期前 1 天

Python Pyspark: Filter for 1 Day Before Current Date Using F.current_date()

提问人:PineNuts0 提问时间:2/13/2019 更新时间:2/13/2019 访问量:13680

问:

我想筛选特定日期之前的所有日期的数据集。具体来说,在当前日期前 1 天。

我尝试了下面的代码:

df = df.filter(F.col('date') <= F.current_date() - 1)

但是我收到了以下错误:

u"cannot resolve '(current_date() - 1)' due to data type mismatch: differing types in '(current_date() - 1)' (date and int)
python date pyspark datediff 减法

评论

1赞 pault 2/13/2019
如何在 sparksql 中获取今天 -“1 天”日期的可能副本? 也许 Apache Spark 从时间戳列中减去天数。
0赞 pault 2/13/2019
您还可以使用 F.datediff 来实现此目的:F.datediff(F.current_date(), "date") >= 1)

答:

8赞 Psidom 2/13/2019 #1

F.date_sub方法应该有效:

df.filter(F.col('date') <= F.date_sub(F.current_date(), 1))