如何在Pyspark中将时间从大纪元时间转换为UTC时间?

时间:2019-06-25 19:35:49

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

说我有一个数据框,其列名称为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"))

1 个答案:

答案 0 :(得分:0)

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

将它们一次放入文字字符串并使用Python的时间模块怎么样? https://docs.python.org/3/library/time.html#time.gmtime