【问题标题】:How to convert seconds from Epoch time to UTC time in Pyspark?如何在 Pyspark 中将秒数从 Epoch 时间转换为 UTC 时间?
【发布时间】:2019-06-25 19:35:49
【问题描述】:

假设我有一个数据框,其列名 epoch 是从纪元时间开始的秒数,我想将其转换为 UTC 时间。如何在 Pyspark 中做到这一点?

我不想硬编码“GMT-7”,我想确保我使用正确的时间偏移量,基于夏令时的 GMT-7 或 GMT-8。我正在运行 Spark 2.1

myDF = myDF.withColumn("epoch_tmst",(myDF.epoch.cast(dataType=TimestampType()))
myDF = myDF.withColumn("epoch_tmst_utc",to_utc_timestamp(myDF.epoch_tmst,"GMT-7"))

【问题讨论】:

  • 欢迎来到 SO。您能否提供您的数据样本和预期输出?提供帮助会更容易。

标签: python-2.7 apache-spark pyspark pyspark-sql


【解决方案1】:

无法通过pyspark方法直接将unixtime转换为UTC时间戳。
(您可以通过 pyspark 分别执行 unix->GMT-7 和 GMT-7->UTC,但看起来这不是您想要的)

把它们变成文字字符串一次,然后使用 Python 的 time 模块怎么样? https://docs.python.org/3/library/time.html#time.gmtime

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-03-23
    • 2017-09-16
    • 2020-04-13
    • 2020-09-14
    • 1970-01-01
    • 2018-05-23
    • 2021-07-28
    • 2021-10-27
    相关资源
    最近更新 更多