当前位置:首页 - Spark

pyspark如何对dataframe时间类型的字段进行比较过滤?

作者:高景洋 日期:2021-01-29 18:37:26 浏览次数:2562

首先,我们要了解几个spark的内置时间比较函数:

current_date:获取当前日期,示例:2021-1-29

date_sub:在指定日期上减N天,返回值是一个dataframe Row ,所以这个函数是在过滤时,对dataframe列进行操作

date_add:在指定日期上加N天 ,注意点同date_sub


下边的示例,功能为:

过滤出 UpdatedDate 是昨天的数据,且小于今天的日期

说明:

1、今天是 2021-1-29号,则取出 2021-1-28 - 2021-1-29 之间的数据

2、用WebsiteID 作为汇总字段,进行count操作

3、返回结果为 dataframe


from pyspark.sql.functions import to_timestamp,current_date,date_sub

df_update_date_1 = df_update_date.filter(df_update_date['UpdatedDate']>date_sub(current_date(),1)).filter(df_update_date['UpdatedDate']< current_date()).groupby('WebsiteID').count()


本文永久性链接:
<a href="http://r4.com.cn/art174.aspx">pyspark如何对dataframe时间类型的字段进行比较过滤?</a>
当前header:Host: r4.com.cn X-Host1: r4.com.cn X-Host2: r4.com.cn X-Host3: 127.0.0.1:8080 X-Forwarded-For: 18.218.188.40 X-Real-Ip: 18.218.188.40 X-Domain: r4.com.cn X-Request: GET /art174.aspx HTTP/1.1 X-Request-Uri: /art174.aspx Connection: close Accept: */* User-Agent: Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) Accept-Encoding: gzip, br, zstd, deflate