gpt4 book ai didi

python - pyspark中unix时间到日期时间

转载 作者:行者123 更新时间:2023-12-01 07:39:51 27 4
gpt4 key购买 nike

我正在尝试将 pyspark(databricks) 中的 unix_time 转换为日期时间格式。

样本数据(test_data)

id       unix_time
169042 1537569848

我创建的脚本是

test_data= test_data.withColumn('end_time', from_utc_timestamp(test_data.unix_time, 'PST'))

我收到以下错误:-

due to data type mismatch: argument 1 requires timestamp type, however, 'unix_time' is of bigint type

更新

输出

unix_time=1537569848

end_time=2018-09-21 22:44:08 (这是 UTC 时间吗?默认的 utc 时间是 unix 时间格式吗?)

end_time_ct= 2018-09-21T22:44:08.000+0000(如何将上述时间转换为中部时间?)

我当前的查询

from pyspark.sql.functions import *

test_data= test_data.withColumn('end_time', from_unixtime(test_data.unix_time ,"yyyy-MM-dd HH:mm:ss"))

test_data = test_data.withColumn('end_time_ct', from_utc_timestamp(test_data.end_time ,"CT"))

display(test_data)

最佳答案

SparkSession 的时区配置可以设置为 CSTCDT

spark.conf.set("spark.sql.session.timeZone", "CST")

test_data = test_data.withColumn(
'end_time',
from_unixtime(test_data.unix_time , 'yyyy-MM-dd HH:mm:ss')
)

from_unixtime 返回默认 timeZone 设置中的时间戳SparkSession 可以通过运行来验证:

spark.conf.get('spark.sql.session.timeZone')

我怀疑是 CEST,因为 2018-09-21 22:44:08UTC 早 2 小时。

关于python - pyspark中unix时间到日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56778387/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com