标签: scala date apache-spark dataframe
我已将字符串(datestr)传递给函数(该函数使用scala API在Spark中对数据框执行ETL),但是在某些时候,我需要按特定日期过滤数据框 像:
datestr
df.filter(col("dt_adpublished_simple") === date_add(datestr, -8))
其中datestr是我传递给函数的参数。
不幸的是,函数date_add需要列类型作为第一个参数。 谁能帮助我将参数转换为可解决此问题的列或类似解决方案?
date_add
答案 0 :(得分:2)
您可能只需要使用lit从输入的 String 创建 String 列。然后,使用to_date从上一个日期创建一个日期 列。
lit
to_date
df.filter(col("dt_adpublished_simple") === date_add(to_date(lit(datestr), format), -8))