【问题标题】:To read date time format( 2017-01-12t141206) through pyspark通过pyspark读取日期时间格式(2017-01-12t141206)
【发布时间】:2020-04-24 20:20:13
【问题描述】:

我有一个要求,我想通过 pyspark 读取一个以格式(2017-01-12t141206)获取时间戳的列。我尝试了不同论坛上提到的几个功能,例如。 strptime、strftime 等等,但没有任何帮助。有人可以指导我提供相关信息吗?谢谢!

【问题讨论】:

    标签: pyspark timestamp


    【解决方案1】:

    在这种情况下使用 .to_timestamp(或)from_unixtime,unix_timestamp 函数。

    Example:

    #using to_timestamp function
    spark.sql("""select to_timestamp("2017-01-12t141206","yyyy-MM-dd't'HHmmss") as ts""").show()
    
    #or using from_unixtime, unix_timestamp,cast(timestamp) functions
    spark.sql("""select timestamp(from_unixtime(unix_timestamp("2017-01-12t141206","yyyy-MM-dd't'HHmmss"),"yyyy-MM-dd HH:mm:ss")) as ts""")
    
    #or using unix_timestmap, cast to timestamp
    spark.sql("""select timestamp(unix_timestamp("2017-01-12t141206","yyyy-MM-dd't'HHmmss")) as ts""").show()
    
    #+-------------------+
    #|                 ts|
    #+-------------------+
    #|2017-01-12 14:12:06|
    #+-------------------+
    

    【讨论】:

    • 我投了赞成票,但在这个论坛上,需要 15 的声望才能公开更改计数。
    猜你喜欢
    • 1970-01-01
    • 2017-12-28
    • 2020-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多