python - 将 datetime 对象与 Pyspark 列进行比较?
问题描述
假设我生成了一个纪元值以使用日期时间进行比较:
from datetime import datetime, timedelta
today = datetime.now()
date_compare = today - timedelta(days=365)
data_compare = date_compare.timestamp()
我想获取这个日期并将其与包含存储为 long 类型的纪元值的 pyspark 列进行比较。
+------------+
|date |
+------------+
|1585872000 |
|1599321205 |
|1590710400 |
+------------+
当我尝试在数据帧上对数据值大于 date_compare 变量的记录使用过滤器时,我没有返回任何记录,即使我知道这些值大于 date_compare。我在这里尝试使用这种方法:
import pyspark.sql.functions as f
df.filter(f.col(date) > f.lit(date_compare)).show()
我也尝试过长时间转换这个 date_compare 以及使用演员表,看看这是否有帮助,但无济于事。
import pyspark.sql.functions as f
df.filter(f.col(date) > f.lit(date_compare).cast("long")).show()
Pyspark 应该如何解释这个 datetime 变量以便我成功传递它来捕获记录?在我这边运行它时没有返回错误,所以我无法推断出这个过滤方法的问题。
解决方案
推荐阅读
- openssl - 如何在 certtool 的请求模板文件中添加电子邮件地址主题备用名称 (SAN)?
- swift - 如何从 iOS SQLite 数据库中保存和获取数据?
- mongodb - 将自己的接口序列化为 ObjectId 字段?
- kotlin - 如何将'When'语句替换为kotlin中的简单三元语句
- quarkus - 与@NoScope 类似@Stateless 的夸库?
- php - 带有两个按钮的 Laravel 表单在提交时获取单击按钮的值
- pandas - 熊猫数据透视表:仅获取值计数而不是列
- python - 覆盖函数内部的全局变量不适用于 Spyder 4
- c - 有没有办法“动态调整” char 变量?
- r - 如何将collapsibleTree生成的可折叠树形图保存到R中的html文件