【问题标题】:Run Athena every 15 minutes vs Kinesis Data Analytics每 15 分钟运行 Athena 与 Kinesis Data Analytics
【发布时间】:2022-08-18 16:30:53
【问题描述】:

我将使用 Athena 生成 S3 中可用数据的报告。其中很多是来自物联网设备的时间序列数据。

用户可以请求多年和多年的数据报告,但主要是每周、每月或每年。

我正在考虑每 15 分钟保存一次聚合,例如:12:00、12:15、12:30、12:45、1:00 等。计算出的聚合应始终为 15 分钟且不能为 12: 03 和 12:18 以此类推。 Kinesis 数据分析是否可行?如果是,如何?

如果不是,那么安排每 5-10 分钟触发一次 lambda 并让 athena 计算这些聚合听起来是一种合理的方法吗?我应该考虑的任何替代方案?

    标签: amazon-web-services amazon-s3 reporting amazon-kinesis amazon-kinesis-analytics


    【解决方案1】:

    Kinesis Data Analytics 运行支持翻转窗口的 Apache Flink。通过将窗口时间设置为 15 分钟,从 00:00、00:15 等开始的时间间隔应默认工作。
    https://nightlies.apache.org/flink/flink-docs-release-1.15/docs/dev/datastream/operators/windows/#tumbling-windows

    由于 15 分钟非常慢,您还可以考虑编写 AWS Glue 作业 (Apache Spark) 并使用内置 Glue 触发器定期触发它。

    或者您可以使用当前的解决方案(Lambda/Athena)。

    这里的主要决定之一是您需要投资多少来学习 Spark 或 Flink 与已知(我假设)Athena 查询。在选择一种方法之前,我会为每种方法保留一些有限的时间来测试它们。通过这种方式,您可以快速查看事情变得复杂的地方。

    【讨论】:

    • 谢谢。对于翻滚窗口,我关心的是如何控制我们不是为任何窗口写出,而是四舍五入的 15 分钟窗口,即 1:00 - 1:00 到 1:15,1:15 到 1:30 而不是 1:13到 1:28 等。@tzu
    • 这是默认行为:如果您将窗口时间设置为 15 分钟,它将始终从 00:00、00:15 等开始(查看 tumbling windows 部分的最后一段)。
    猜你喜欢
    • 2012-06-09
    • 1970-01-01
    • 2019-09-12
    • 1970-01-01
    • 2019-06-09
    • 1970-01-01
    • 1970-01-01
    • 2015-08-01
    • 2015-05-10
    相关资源
    最近更新 更多