【问题标题】:Does AWS Kinesis Analytics have watermarks and sliding windows on other fields than ROWTIME?AWS Kinesis Analytics 在 ROWTIME 以外的其他字段上是否有水印和滑动窗口?
【发布时间】:2019-06-17 08:07:22
【问题描述】:

在使用 Kinesis Analytics 工作了几周后,我有很多问题:

  1. 它有类似水印的东西吗? like in flink

    正如我发现的那样,即使是交错窗口也是基于实时发出的:

记录按一分钟的交错窗口分组。交错 窗口在应用程序收到第一条 AMZN 记录时启动 (行时间为 11:00:20)。当 1 分钟的交错窗口期满时 (在 11:00:20){我想这是一个错字,应该是 11:01:20}, 结果落在交错窗口内的记录(基于 在 ROWTIME 和 EVENT_TIME) 被写入输出流。用一个 交错窗口,所有带有 ROWTIME 和 EVENT_TIME 的记录 在一分钟的窗口内以单个结果发出。 taken here

  1. page about sliding windows 上,我找到了一些示例,就那里而言,您只能选择“分区依据”的字段,我可以假设基于哪个字段进行窗口化的唯一字段是 ROWTIME。

WINDOW W1 AS ( 按ticker_symbol 分区 范围间隔 '1' 分钟前);

请不要将此视为仇恨帖子,我经常使用 AWS,并且大多数服务都是可靠且用户友好的。更多的是尝试指出更多用户(不仅是我)可能需要的某些功能。

或者,如果您知道如何在 Kinesis Analytics 中使用它,那么知道它会很有趣,因为我在文档中没有找到关于这些功能的任何信息。

【问题讨论】:

  • 您是否找到了一种方法来将基于其进行窗口化的字段更改为除 ROWTIME 之外的另一个时间戳列?

标签: amazon-web-services streaming real-time apache-flink amazon-kinesis


【解决方案1】:

根据我在他们的文档 herehere 中读到的内容

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

您可以有事件时间窗口,但时间戳必须单调递增,这表明只有简单的水印。搜索水印确实会在 this page 上找到一些命中。

【讨论】:

  • “你可以有事件时间窗口,但时间戳必须是单调递增的”我想这不是在涉及网络的情况下可以保证的。更多的是他们当前的设置不允许在历史数据上使用基于时间的滑动窗口(不是说翻滚窗口)。我的意思是,如果您将数据重新加载到 Kinesis 应用程序的显着延迟,它将无法正常工作,因为应用程序将为每条记录生成新的 ROWTIME,并且记录将以全新的方式进行分组,因此在这种情况下不会重新处理历史数据可能。
  • “您可以在指定基于时间的查询时使用此列”-> 我没有看到用于滑动窗口的方法。这是文档中的一个示例: WINDOW W1 AS ( PARTITION BY ticker_symbol RANGE INTERVAL '1' MINUTE PRECEDING); (docs.aws.amazon.com/kinesisanalytics/latest/dev/…) 我猜这是使用 ROWTIME 作为间隔。如何指定它应该使用另一列作为时间戳列来创建时间间隔?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-04-30
  • 1970-01-01
  • 1970-01-01
  • 2019-10-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多