【问题标题】:Timestamp parsing in pysparkpyspark 中的时间戳解析
【发布时间】:2016-08-07 19:44:02
【问题描述】:
df1:

Timestamp:

1995-08-01T00:00:01.000+0000

有没有办法使用 pyspark.无法提供代码,我是新来的火花。我不知道如何继续。

【问题讨论】:

    标签: apache-spark pyspark


    【解决方案1】:

    您可以使用 unix_timestamp 解析此时间戳:

    from pyspark.sql import functions as F
    
    format = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"
    df2 = df1.withColumn('Timestamp2', F.unix_timestamp('Timestamp', format).cast('timestamp'))
    

    然后,您可以在新的 Timestamp 列中使用 dayofmonth:

    df2.select(F.dayofmonth('Timestamp2'))
    

    关于这些函数的更多细节可以在 pyspark functions documentation 中找到。

    【讨论】:

    • "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'" 会正常工作,因为"yyyy-MM-dd'T'HH:mm:ss.SSSZ" 返回空值。
    【解决方案2】:

    代码:

    df1.select(dayofmonth('Timestamp').alias('day'))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-06-30
      • 2021-12-18
      • 2018-07-02
      • 2017-11-22
      • 2021-11-05
      • 1970-01-01
      • 2020-08-29
      • 1970-01-01
      相关资源
      最近更新 更多