如何在Spark中将字符串转换为日期格式

时间:2019-05-16 16:26:04

标签: scala date apache-spark dataframe

我已将字符串(datestr)传递给函数(该函数使用scala API在Spark中对数据框执行ETL),但是在某些时候,我需要按特定日期过滤数据框 像:

df.filter(col("dt_adpublished_simple") === date_add(datestr, -8))

其中datestr是我传递给函数的参数。

不幸的是,函数date_add需要列类型作为第一个参数。 谁能帮助我将参数转换为可解决此问题的列或类似解决方案?

1 个答案:

答案 0 :(得分:2)

您可能只需要使用lit从输入的 String 创建 String 。然后,使用to_date从上一个日期创建一个日期

df.filter(col("dt_adpublished_simple") === date_add(to_date(lit(datestr), format), -8))