Amazon Managed Service for Apache Flink 专业2016年〜
以托管方式运行 Apache Flink 应用的流处理服务
它能做什么
Amazon Managed Service for Apache Flink 是一项以全托管方式运行 Apache Flink 应用的服务。从 Kinesis Data Streams、MSK (Kafka)、S3 等实时摄取数据,使用 SQL 或 Java/Python 进行转换、聚合和分析。支持有状态流处理和基于事件时间的窗口处理。
使用场景
用于实时日志分析、IoT 传感器数据流处理、点击流分析、欺诈检测的实时模式匹配,以及 ETL 管道的实时化。
日常类比
可以将其比作传送带上的质检线。在不停止流动产品 (数据) 的情况下实时检查 (转换、聚合),检测不良品 (异常数据) 并分拣。
什么是 Managed Flink
Amazon Managed Service for Apache Flink 是流处理的托管服务。Apache Flink 是有状态流处理框架,提供基于事件时间的窗口处理、exactly-once 语义和基于检查点的故障恢复。Managed Flink 由 AWS 管理 Flink 集群的构建、运维和扩展。
Flink SQL 与应用
使用 Flink SQL 可用 SQL 编写流处理。对流数据执行 SELECT、JOIN、GROUP BY、窗口函数等 SQL 操作,实现实时聚合和过滤。更复杂的处理可使用 Java 或 Python 的 Flink API。将应用的 JAR 文件上传到 S3 执行。 如需深入了解 Flink SQL 与应用,可参考 Amazon 技术书籍。
如何开始
在 Managed Flink 控制台创建应用,选择运行时 (SQL、Java、Python)。设置输入源 (Kinesis Data Streams、MSK) 和输出目标 (S3、Kinesis、OpenSearch)。使用 Flink SQL 时可在 Studio 笔记本中交互式开发和测试查询。
注意事项
- 按 KPU (Kinesis Processing Unit) 时间计费。持续运行时批处理用 Glue 更具成本效益
- 简单流处理用 Kinesis Data Streams + Lambda 架构更简单。Flink 适合复杂的有状态处理