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

标签 scala date apache-spark dataframe

我已将字符串 (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/

相关文章:

scala - 在 Spark Scala 中实现隔离森林

scala - 如何比较不同的通用 HList 的类型?

java - 转换为 JSON 字符串时日期递减一天 - Java

javascript - 在 JavaScript 中检查日期

java - 如何在解析时存储日期和时间

apache-spark - 我有一个很大的 hql 查询,我正在使用 pyspark sql 调用它。但是我收到错误,例如 Bad connect ack with firstBadLink error

scala - 如何使用 scala/spark 正确迭代/打印 Parquet ?

scala - 评估职能绩效

scala - spark 2.2 cache() 导致驱动程序 OutOfMemoryerror

scala - SparkPi 程序在 Yarn/Spark/Google Compute Engine 下保持运行