我想计算pyspark中两个列之间小时的时间差。以下是示例数据框。这些列是字符串类型(yyyymmddhhmmss)。
time1 time2
20191020051010 20191019051010
想要以下输出。这里24表示时间1和时间2在小时内的差异。
time1 time2 diff
20191020051010 20191019051010 24
您可以尝试
import pyspark.sql.functions as F
df.withColumn(
'diff',
(F.unix_timestamp(F.to_timestamp(F.col('time1')))) -
(F.unix_timestamp(F.to_timestamp(F.col('time2'))))/F.lit(3600)
)