窗口式查询 - Amazon Kinesis Data Analytics for SQL 应用程序开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

如果我们为英文版本指南提供翻译,那么如果存在任何冲突,将以英文版本指南为准。在提供翻译时使用机器翻译。

窗口式查询

对应用程序内部流连续执行应用程序代码中的 SQL 查询。应用程序内部流表示通过您的应用程序持续流动的无边界数据。因此,要从该连续更新输入获取结果集,通常可以使用根据时间或行定义的窗口来限制查询。这些查询也称为窗口式 SQL

对于基于时间的窗口式查询,需要以时间为单位指定窗口大小(例如,一分钟窗口)。这需要在应用程序内部流中有一个单调递增的时间戳列。(新行的时间戳大于或等于前一行)。Amazon Kinesis Data Analytics 为每个应用程序内部流提供一个名为 ROWTIME 的此类时间戳列。在指定基于时间的查询时,可以使用该列。对于您的应用程序,可以选择其他某个时间戳选项。有关更多信息,请参阅 时间戳和 ROWTIME 列。)

对于基于行的窗口式查询,可以使用行数为单位指定窗口大小。

您可以根据应用程序需求指定查询以滚动窗口方式、滑动窗口方式还是交错窗口方式处理记录。Kinesis Data Analytics 支持以下窗口类型:

  • 交错窗口:一个使用基于时间的键控窗口聚合数据的查询,这种窗口在数据到达时打开。这些键允许多个重叠的窗口。这是使用基于时间的窗口聚合数据的推荐方法,因为与滚动窗口相比,交错窗口可以减少延迟或无序数据。

  • 滚动窗口:一个使用基于时间的不同窗口聚合数据的查询,这些窗口以固定时间间隔打开和关闭。

  • 滑动窗口:一个使用固定时间或行计数间隔连续聚合数据的查询。