动态地增加了pyspark时间戳的时间

时间:2018-10-31 23:14:52

标签: pyspark

Employee

现在,我想将轮班时间(小时)添加到测试时间中。有人可以帮助我提供快速解决方案吗?

1 个答案:

答案 0 :(得分:0)

您可以使用以下类似内容。您需要将shift字段转换为秒,所以我将其乘以3600

>>> df.withColumn("testing_time", (F.unix_timestamp("testing_time") + F.col("shift")*3600).cast('timestamp')).show()
+---+-------------------+---------+-----+
| id|       testing_time|test_name|shift|
+---+-------------------+---------+-----+
|  1|2017-03-12 05:19:58|  Raising|    2|
|  2|2017-03-12 04:21:30| sleeping|    1|
|  3|2017-03-12 06:29:40|  walking|    3|
|  4|2017-03-12 08:31:23|  talking|    5|
|  5|2017-03-12 10:19:47|   eating|    6|
|  6|2017-03-12 11:33:51|  working|    7|
+---+-------------------+---------+-----+