【发布时间】:2021-09-03 08:08:09
【问题描述】:
我需要从 run_date 中减去 10 天并在数据帧上应用过滤器。但是在运行下面的代码时会出现错误。 - 错误:AnalysisException:“无法解析 '2020-01-10' 给定输入列:[cust, activity_day];\n'Filter (to_date(activity_day#1341, Some(YYYY-MM-DD)) > date_sub(cast(to_date ('2020-01-10, Some(YYYY-MM-DD)) as date), 10))\n+- LogicalRDD [cust#1340L, activity_day#1341]\n"。
数据:
df = spark.createDataFrame(
[
(123,"2020-01-01"),
(123,"2020-01-01"),
(123,"2019-01-01")
],
("cust", "activity_day")
)
代码:我需要从 run_date 中减去 10 天并在数据帧上应用过滤器
from pyspark.sql.functions import *
subtract_days=10
run_date = to_date("2020-01-10","YYYY-MM-DD").cast("date")
df.filter(to_date(df["activity_day"],"YYYY-MM-DD") > date_sub(run_date,subtract_days)).show()
谁能帮忙?
【问题讨论】:
标签: python python-3.x pyspark