Window 跳跃是什么意思?

What does Window hopping mean?

我正在 KSQLDb.

阅读初学者教程

我遇到过 table 查询:

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;

下面是定义查询:

The following query is the same query as above that computes the count for hopping window of 30 seconds that advances by 10 seconds.

是指30秒内取出数据,延时10秒吗?

什么时候使用WINDOW跳跃?

Windowing 允许您按时间对记录进行分组。所以这就像查询中的 GROUP BY 子句一样工作,并提供进一步的分组。

Hopping 和 Tumbling 之间的区别 Window 是聚合的结束时间。使用 Tumbling Windows,您将从开始时间 (WINDOWSTART()) 到结束时间 (WINDOWEND()) 以固定间隔分组。结束时间一到,开始时间再次开始。

使用跳频Windows,开始时间不必等待结束时间开始下一个window,所以windows 可以重叠。 Tumbling 和 Hopping windows 上的 SIZE 相同,聚合的大小或时间长度。 Hopping Windows 中的 ADVANCE BY 是开始下一次聚合之前的延迟。

因此,举个例子,如果您要聚合区域 6 中女性用户的数量,具有跳跃 Window、聚合数据点或女性用户页面视图,可以属于两个 windows.对于 Tumbling Window,window 时间帧是不同的且不重叠,因此每个时间帧只会计算一次数据点。

doc 中有一些不错的图表可以显示 windows 如何随时间重叠或不重叠。