如何获得今天 - PySpark(SQL)中的“6个月”日期

Jam*_*lor 5 python filter apache-spark pyspark pyspark-sql

我有每天更新的表。我用这张表进行分析。我想要一个 6 个月数据的静态窗口作为分析的输入。

我知道我可以在 SQL 中创建一个这样的过滤器,以便每次运行代码时都有 6 个月的数据。

date >= dateadd(mm, -6, getdate())
Run Code Online (Sandbox Code Playgroud)

有人可以建议我如何在 PySpark 中进行相同的操作。我只能想到这个:

df.filter(col("date") >= date_add(current_date(), -6)))
Run Code Online (Sandbox Code Playgroud)

提前致谢!

Sha*_*ica 11

date_add将增加或减少天数,在这种情况下使用add_months

import pyspark.sql.functions as F

df.filter(F.col("date") >= F.add_months(F.current_date(), -6)))
Run Code Online (Sandbox Code Playgroud)