amazon-web-services - 每 15 分钟运行一次 Athena 与 Kinesis Data Analytics

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

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

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

我正在考虑每 15 分钟保存一次聚合,例如:12:00、12:15、12:30、12:45、1:00 等。计算出的聚合应该始终是完整的 15 分钟,并且不能是12:03 和 12:18 等等。 Kinesis 数据分析可以吗?如果是,怎么办?

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

最佳答案

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 查询。在选择一种方法之前,我会为每种方法预留一些有限的时间来测试它们。这样您就可以快速发现事情变得复杂的地方。

关于amazon-web-services - 每 15 分钟运行一次 Athena 与 Kinesis Data Analytics,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73380412/

相关文章:

sql - 创建要传递到存储过程的 week_ref 编号

amazon-web-services - AWS DynamoDB 表设计 : Store two UserIDs and Details in Table

amazon-web-services - cloudformation中定义的资源权限

python - 获取部署到弹性 beantalk 的 python 应用程序的版本标签

amazon-web-services - 为什么S3存储桶ARN不包含AWS帐号?

ruby-on-rails - 如何让 refinerycms 显示从 Amazon S3 与/system/images...上传的图像 url?

javascript - 帮助处理 JavaScript 应用程序错误日志记录的策略

java - 轻量级 Java 报告引擎

amazon-web-services - 如何检查 AWS 中预留了哪个实例?

unix - 有没有办法在 Unix 中安装特定版本的 AWS CLI 实用程序?