【问题标题】:Date Conversion - Spark SQL日期转换 - Spark SQL
【发布时间】:2017-03-20 06:59:21
【问题描述】:

我有一列是这种格式的日期;

Fri Mar 08 14:12:32 +0000 2013

我希望看到这种格式的数据;

2013-03-08 14:12:32.000000

我尝试了一些转换函数,例如 to_utc_timestamp(timestamp, string timezone),但是我得到了空结果。

我需要用 spark.sql("") 之类的;

spark.sql("select TO_DATE(CAST(UNIX_TIMESTAMP('08/26/2016', 'MM/dd/yyyy') AS TIMESTAMP)) AS newdate ").show(20, False)

对不起我的英语,提前谢谢!

【问题讨论】:

    标签: python sql-server apache-spark apache-spark-sql


    【解决方案1】:

    你已经回答了这个问题,你只需要前往the java date format options.

    spark.createDataFrame(List((1,"Fri Mar 08 14:12:32 +0000 2013")))
    res0.createOrReplaceTempView("test")
    spark.sql("SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(_2, 'EEE MMM dd HH:mm:ss Z yyyy'),'yyyy-MM-dd HH:mm:ss.SSSS') FROM test").collect
    

    唯一的问题是,一旦它采用 time_stamp 格式,然后您使用 FROM_UNIXTIME 将其转换为您想要的字符串。

    【讨论】:

    • 感谢贾斯汀的回答。但是,我仍然不知道如何将其转换为这种(2013-03-08 14:12:32.000000)格式
    • 更新了我的答案。我猜你错过了 FROM_UNIXTIME?否则只需要审查格式表
    猜你喜欢
    • 2018-11-16
    • 1970-01-01
    • 1970-01-01
    • 2021-08-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多