我想计算pyspark中两列之间的时差(以小时为单位)。 以下是示例数据框。列是字符串类型(yyyymmddhhmmss)。
time1 time2
20191020051010 20191019051010
想要以下输出。这里的24表示time1和time2之间的小时数差异。
time1 time2 diff
20191020051010 20191019051010 24
答案 0 :(得分:1)
您可以尝试
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)
)