使用24小时窗口进行Amazon Kinesis Analytics

时间:2018-03-20 16:24:58

标签: amazon-web-services amazon-kinesis

我有一个Streaming Data用例,对于插入Kinesis Stream的每条记录,我想根据过去24小时的记录计算一个值。

现在,Kinesis Analytics似乎很适合这个法案。我可以使用WINDOWRANGE INTERVAL '1' DAY PRECEDING来获取我的聚合。我的Kinesis Stream将保留26小时的记录。

我的冲突来自Best Practices文档。

具体做法是:

  

在您的SQL语句中,我们建议您不要指定超过一小时的基于时间的窗口,原因如下:

     
      
  • 如果需要重新启动应用程序,无论是因为您更新了应用程序还是因为Amazon Kinesis Data Analytics内部原因,必须再次从流数据源中读取窗口中包含的所有数据。这需要一段时间才能让Amazon Kinesis Data Analytics为该窗口发出输出。

  •   
  • Amazon Kinesis Data Analytics必须维护与应用程序状态相关的所有内容,包括相关数据。这将消耗重要的Amazon Kinesis数据分析处理单元。

  •   

我想确定我理解这种后果。

说我继续我的计划并使用Kinesis Analytics实现这一点。然后无论出于何种原因,我的Kinesis Analytics应用程序都必须重新启动。对于上下文,我的应用程序每天处理大约100万条记录,每条记录大约550字节。

如果我的Kinesis Analytics应用程序重新启动,我将会处理什么,因为我会忽略此建议:

  

我们建议您不要指定超过一小时的基于时间的窗口

我还考虑过跳过Kinesis Analytics并将我的行放入RDS(postgres - 单一部署)并触发lambda来运行我的计算或使用Redis做一些事情(仍在探索这些后果)。

0 个答案:

没有答案