将不同的日期字段组合到pyspark中的单个时间戳列中



如果数据帧如下所示:

日小时周日22
工作日
2017 1月0
2018 9月周六11

您可以将元素concat转换为字符串,并使用具有适当日期时间模式的to_timestamp(或from_unixtime(unix_timestamp())(。

这是的例子

data_sdf. 
withColumn('ts', 
func.to_timestamp(func.concat_ws(' ', 'year', 'month', 'day', 'hour'), 
'yyyy MMMM d H'
)
). 
show(truncate=False)
# +----+---------+---+--------+----+-------------------+
# |year|month    |day|weekday |hour|ts                 |
# +----+---------+---+--------+----+-------------------+
# |2017|January  |1  |Sunday  |0   |2017-01-01 00:00:00|
# |2018|September|22 |Saturday|11  |2018-09-22 11:00:00|
# +----+---------+---+--------+----+-------------------+

最新更新