假设我使用datetime生成了一个epoch值进行比较:
from datetime import datetime, timedelta
today = datetime.now()
date_compare = today - timedelta(days=365)
data_compare = date_compare.timestamp()
我想把这个日期和pyspark列进行比较,pyspark列包含一个epoch值,这个epoch值被存储为long类型。
+------------+
|date |
+------------+
|1585872000 |
|1599321205 |
|1590710400 |
+------------+
当我尝试对数据框中数据值大于date\u compare变量的记录使用筛选器时,即使我知道这些值大于date\u compare变量,也不会返回任何记录。我试着用这种方法:
import pyspark.sql.functions as f
df.filter(f.col(date) > f.lit(date_compare)).show()
我也试着把这个日期转换成一个很长的时间,以及一个演员,看看这是否会有帮助,但没有效果。
import pyspark.sql.functions as f
df.filter(f.col(date) > f.lit(date_compare).cast("long")).show()
pyspark应该如何解释这个datetime变量才能成功地传递它来捕获记录?在我这边运行时没有返回任何错误,因此我无法使用此筛选方法推断问题。
暂无答案!
目前还没有任何答案,快来回答吧!