其实这里我们稍微解释一下,为什么我们在Hive或者其他ETL 场景中一直到都没有提到时间窗口这个概念呢,有一个相似的概念那就是开窗函数或者是窗口函数呢,关于窗口函数可以参考Hive专栏 ,我们介绍了很多窗口函数,回到上面的问题就是为什么我们之前没有提到时间窗口这个概念呢,其实很简单就是因为一般情况下我们的ETL 常见下数据是按照天来处理的或者说是按照天来分区的,一个分区本身就已经是一个时间窗口,而天的时间窗口是ETL场景中最常见的窗口,所以我们一般不回特意去提到这个概念。
前面我们说了按照日期进行时间窗口处理是ETL场景中最常见的时间窗口类型,但是由于我们的数据一般都是按照日期进行分区的,所以就不需要按照日期进行开时间窗口了,所以我们一般情况下见不到有人说在ETL 中进行时间开窗。
但是我们非要开窗呢,其实很简单,例如我们对一个月内(10月)的数据按照日期进行时间开窗
select
*,row_number(partition by ds order