pyspark将时间(仅)与时间变量进行比较

gt0wga4j  于 2021-07-12  发布在  Spark
关注(0)|答案(1)|浏览(366)

嗯,我想这很容易,但我在比较时间值时遇到了困难。
例如
有一个带有time(only)的col和一个字符串变量,例如after\u lunch='13:00:00'我试图创建is\u late col,如下所示:

+--------------------+
|time_only| is_late  |
+--------------------+
| 12:46:40|      No  |
| 13:05:47|      Yes |

任何帮助都将不胜感激。

rbl8hiat

rbl8hiat1#

您可以先将时间转换为时间戳类型:

import pyspark.sql.functions as F

df2 = df.withColumn(
    'is_late', 
    F.when(
        F.to_timestamp('time_only', 'H:mm:ss') > F.to_timestamp(F.lit('13:00:00'), 'H:mm:ss'), 
        'yes'
    ).otherwise('no')
)

相关问题