当前位置:首页 - Spark

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

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

首先,我们要了解几个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.97.14.83 X-Real-Ip: 18.97.14.83 X-Domain: r4.com.cn X-Request: GET /art174.aspx HTTP/1.1 X-Request-Uri: /art174.aspx Connection: close User-Agent: CCBot/2.0 (https://commoncrawl.org/faq/) Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en-US,en;q=0.5 If-Modified-Since: Thu, 08 Aug 2024 09:47:44 GMT Accept-Encoding: br,gzip