如何将DATEADD日期过滤SQL转换为PySpark DataFrame实现代码
PySpark DataFrame 对应SQL日期筛选的实现
PySpark中没有dateadd函数,对应的日期偏移方法是add_months,获取当前日期用current_date,二者均来自pyspark.sql.functions模块。以下是几种等价的实现方式:
1. 导入必要函数
from pyspark.sql import functions as F
2. 筛选数据的几种写法
- 使用
filter方法配合列表达式:
filtered_df = df.filter(F.col("date") >= F.add_months(F.current_date(), -4))
- 用
where方法(和filter功能完全相同):
filtered_df = df.where(F.col("date") >= F.add_months(F.current_date(), -4))
- 直接传入SQL风格的字符串条件:
filtered_df = df.filter("date >= add_months(current_date(), -4)")
注意:上述代码中的df是你的目标PySpark DataFrame,date为需要筛选的日期列名,请根据实际情况替换。
内容的提问来源于stack exchange,提问作者Ashwini
相关产品推荐
相关产品推荐

