【问题标题】:How to add multiple delimiters to date format in spark-sql如何在 spark-sql 中为日期格式添加多个分隔符
【发布时间】:2021-11-30 17:51:43
【问题描述】:
spark.sql("select CASE WHEN ((from_unixtime(unix_timestamp(dt,'yyyyMMdd'),'yyyyMMdd') == dt) or  (from_unixtime(unix_timestamp(dt,'MMddyyyy'),'MMddyyyy') == dt)) then dt else '' end as dt, case WHEN ((from_unixtime(unix_timestamp(dt,'yyyyMMdd'),'yyyyMMdd') == dt) or  (from_unixtime(unix_timestamp(dt,'MMddyyyy'),'MMddyyyy') == dt)) then 'Y' else 'dt: should be present in \"yyyyMMdd\" or \"MMddyyyy\" format' end as dt_flag from input").show(false)

在上面的代码中,我编写了接受两种格式的查询 yyyyMMdd 和 MMddyyyy

在这种情况下,应该接受多个分隔符,例如没有分隔符、句点、逗号、斜杠、破折号 日期类型。

我不知道如何添加这些,请帮助我!提前致谢

【问题讨论】:

    标签: sql dataframe apache-spark apache-spark-sql


    【解决方案1】:

    您可以根据接受的Date Formats 创建多个列

    完成后,您可以使用coalesce 将它们组合在一起

    演示了该方法的一个示例here

    【讨论】:

    • 我认为使用了 withcolumn 。如何将它与我的查询合并?你能在我的查询中显示出来吗? @Vaebhav
    猜你喜欢
    • 1970-01-01
    • 2020-03-05
    • 2021-06-13
    • 2019-09-08
    • 2018-02-13
    • 1970-01-01
    • 2019-03-21
    • 2021-10-13
    • 2010-11-29
    相关资源
    最近更新 更多