如何过滤最近 14 天的 pyspark 数据框?
How to filter pyspark dataframe with last 14 days?
我的数据框中有一个日期列
我想使用日期列从数据框中过滤掉过去 14 天。
我尝试了以下代码,但它不起作用
last_14 = df.filter((df('Date')> date_add(current_timestamp(), -14)).select("Event_Time","User_ID","Impressions","Clicks","URL", "Date")
Event_time,user_id,展示次数,点击次数,URL是我的其他栏目
谁能告诉我怎么做?
from pyspark.sql import functions as F, types as T
df = spark.createDataFrame(
[
('2022-03-10',),
('2022-03-09',),
('2022-03-08',),
('2022-02-02',),
('2022-02-01',)
], ['Date']
).withColumn('Date', F.to_date('Date', 'y-M-d'))
df\
.filter((F.col('Date') > F.date_sub(F.current_date(), 14)))\
.show()
+----------+
| Date|
+----------+
|2022-03-10|
|2022-03-09|
|2022-03-08|
+----------+
在您的代码中它将是:
last_14 = df.filter((F.col('Date') > F.date_sub(F.current_date(), 14))).select("Event_Time","User_ID","Impressions","Clicks","URL", "Date")
我的数据框中有一个日期列
我想使用日期列从数据框中过滤掉过去 14 天。 我尝试了以下代码,但它不起作用
last_14 = df.filter((df('Date')> date_add(current_timestamp(), -14)).select("Event_Time","User_ID","Impressions","Clicks","URL", "Date")
Event_time,user_id,展示次数,点击次数,URL是我的其他栏目
谁能告诉我怎么做?
from pyspark.sql import functions as F, types as T
df = spark.createDataFrame(
[
('2022-03-10',),
('2022-03-09',),
('2022-03-08',),
('2022-02-02',),
('2022-02-01',)
], ['Date']
).withColumn('Date', F.to_date('Date', 'y-M-d'))
df\
.filter((F.col('Date') > F.date_sub(F.current_date(), 14)))\
.show()
+----------+
| Date|
+----------+
|2022-03-10|
|2022-03-09|
|2022-03-08|
+----------+
在您的代码中它将是:
last_14 = df.filter((F.col('Date') > F.date_sub(F.current_date(), 14))).select("Event_Time","User_ID","Impressions","Clicks","URL", "Date")