apache-spark - PySpark 将时间(仅)与时间变量进行比较
问题描述
好吧,我认为这很容易,但我在比较时间值时遇到了麻烦。
例如
有一个带时间的 col(仅)和一个字符串变量,例如after_lunch = '13:00:00'我正在尝试创建is_late col,如下所示:
+--------------------+
|time_only| is_late |
+--------------------+
| 12:46:40| No |
| 13:05:47| Yes |
任何帮助,将不胜感激。
解决方案
您可以先将时间转换为时间戳类型:
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')
)
推荐阅读
- laravel - Laravel 获取 JSON 列 MariaDB 语法错误
- css - 无法以角度获取openlayers css
- linux - 如何查找具有特定名称的所有子目录并删除其内容(而不是删除目录本身)
- coq - Coq 中的 b/w 等变和协变箭头有什么区别?
- amazon-web-services - 带参数的 appsync 订阅
- django - 在服务器私有 IP/vpn 隧道上访问 Django 应用程序
- loopbackjs - tp 如何从 loopback.js 远程方法发送大数据集
- ruby - 如何过滤对象数组
- tensorflow - GPU 中的 Bfloat16 训练
- python - 如何在 Python 中显示数字的最后 2 位数字