我已将字符串 (datestr
) 传递给函数(使用 scala API 对 Spark 中的数据帧进行 ETL),但是在某些时候我需要按特定日期过滤数据帧
类似:
df.filter(col("dt_adpublished_simple") === date_add(datestr, -8))
其中 datestr
是我传递给函数的参数。
不幸的是,函数date_add
需要列类型作为第一个参数。
谁能帮助我如何将参数转换为列或类似的解决方案来解决问题?
最佳答案
您可能只需要使用 lit
从您输入的字符串创建一个字符串列。然后,使用to_date
从前一个日期创建一个日期列。
df.filter(col("dt_adpublished_simple") === date_add(to_date(lit(datestr), format), -8))
关于scala - Spark中如何将字符串转换为日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56172898/