如何根据其他 pyspark 数据框的日期值过滤第二个 pyspark 数据框?
How to filter a second pyspark dataframe based on date value from other pyspark dataframe?
我有一个 DataFrame,其中填充了 load_date_time。我想用来自其他 DataFrame 的 max(date_value) 过滤这个 DataFrame。
我已尝试执行以下操作。
df2_max_create_date = df2.select("create_date").agg(F.max(df_dsa["create_date"]))
df2_max_create_date.show()
+----------------+
|max(create_date)|
+----------------+
| 2019-11-10|
+----------------+
然后尝试根据此日期过滤第一个数据框。它有一个名为 load_date_time.
的时间戳列
df_delta = df1.where(F.col('load_date_time') > (F.lit(df2_max_create_date)))
但是我遇到了以下错误。
AttributeError: 'DataFrame' object has no attribute '_get_object_id'
您可以通过调用 collect
:
来获取 max_date
变量
max_create_date = df2.select(F.max(df_dsa["create_date"])).collect()[0][0]
df_delta = df1.where(F.col('load_date_time') > max_create_date)
我有一个 DataFrame,其中填充了 load_date_time。我想用来自其他 DataFrame 的 max(date_value) 过滤这个 DataFrame。
我已尝试执行以下操作。
df2_max_create_date = df2.select("create_date").agg(F.max(df_dsa["create_date"]))
df2_max_create_date.show()
+----------------+
|max(create_date)|
+----------------+
| 2019-11-10|
+----------------+
然后尝试根据此日期过滤第一个数据框。它有一个名为 load_date_time.
的时间戳列df_delta = df1.where(F.col('load_date_time') > (F.lit(df2_max_create_date)))
但是我遇到了以下错误。
AttributeError: 'DataFrame' object has no attribute '_get_object_id'
您可以通过调用 collect
:
max_date
变量
max_create_date = df2.select(F.max(df_dsa["create_date"])).collect()[0][0]
df_delta = df1.where(F.col('load_date_time') > max_create_date)