如果数据帧如下所示:
年 | 月 | 日工作日 | 小时|
---|---|---|---|
2017 | 1月 | 周日0 | |
2018 | 9月 | 22周六 | 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|
# +----+---------+---+--------+----+-------------------+