pyspark数据帧中两列之间的时差

时间:2019-03-12 11:47:49

标签: python-3.x apache-spark pyspark apache-spark-sql pyspark-sql

我想计算pyspark中两列之间的时差(以小时为单位)。 以下是示例数据框。列是字符串类型(yyyymmddhhmmss)。

time1           time2
20191020051010  20191019051010

想要以下输出。这里的24表示time1和time2之间的小时数差异。

time1                time2         diff
20191020051010  20191019051010     24

1 个答案:

答案 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)
)