跳窗是什么意思?

ig9co6j1  于 2021-06-04  发布在  Kafka
关注(0)|答案(1)|浏览(1509)

我正在阅读ksqldb初学者教程。
我遇到过表查询:

CREATE TABLE pageviews_per_region_per_30secs10secs AS
  SELECT regionid,
         count(*)
  FROM pageviews_enriched
  WINDOW HOPPING (SIZE 30 SECONDS, ADVANCE BY 10 SECONDS)
  WHERE UCASE(gender)='FEMALE' AND LCASE (regionid) LIKE '%_6'
  GROUP BY regionid
  EMIT CHANGES;

以下是定义查询:
下面的查询与上面的查询相同,它计算提前10秒的30秒跳跃窗口的计数。
这是否意味着在30秒内取出数据,并延迟10秒?
什么时候使用跳窗?

jtjikinw

jtjikinw1#

窗口化允许您按时间对记录进行分组。因此,这与查询中的GROUPBY子句类似,并提供了进一步的分组。
跳跃窗口和翻滚窗口之间的区别是聚合的结束时间。使用滚动窗口,您可以按固定的间隔从开始时间(windowstart())到结束时间(windowend())进行分组。一旦结束时间出现,开始时间就再次开始。
对于跳转窗口,开始时间不必等待结束时间来开始下一个窗口,因此窗口可以重叠。翻滚和跳跃窗口的大小相同,聚合的大小或时间长度相同。跳转窗口带来的进步是开始下一次聚合之前的延迟。
所以,举个例子,如果你在区域6聚集女性用户的数量,有一个跳跃窗口,一个聚集数据点,或者女性用户页面视图,可以属于两个窗口。对于滚动窗口,窗口时间段是不同的,并且不重叠,因此每个时间段只计算一次数据点。
在这个文档中有一些很好的图表来显示窗口是如何重叠的。

相关问题