KSQL窗口查询的工作方式和最大窗口大小

时间:2018-08-09 16:54:57

标签: apache-kafka streaming ksql

关于使用开窗的KSQL wrt查询中的查询,我有两个问题:

  1. 假设我有以下聚合查询:

    SELECT ID,COUNT个(*)来自testtopic_stream Windows滚动(大小为30天),按ID分组;

是否仅通过使用新的滴答声来计算以上汇总的结果,否则它实际上将遍历过去30天的所有数据,然后执行汇总?

  1. 查询的最大窗口大小是多少?我看到我可以在30天内设置一个窗口,并且查询现在似乎可以正常工作。有建议的最大窗口尺寸吗?

1 个答案:

答案 0 :(得分:3)

这取决于auto.offset.reset策略。如果将其设置为"earliest",查询将使用基础流/主题中的所有数据(请注意,“全部”表示实际上存储在主题中的所有数据,即,取决于主题保留设置如何很多数据)。如果将配置设置为"latest"(默认设置),则查询将仅处理查询启动后上游生产者写入的数据。

在两种情况下,窗口的大小都不会影响要处理的数据。

窗口大小没有限制。您可以选择任何尺寸。注意:对于滚动窗口,较小的窗口实际上增加了存储需求,而较大的窗口减小了存储需求,因为需要并行维护的窗口较少。