使用 Apache Flink 的流处理应用程序
开源
Amazon Kinesis Data Analytics 包括开源库,如 Apache Flink、Apache Beam、Apache Zeppelin、Amazon 开发工具包和 AWS 服务集成。 Apache Flink 是一种开源框架和引擎,用于构建高可用性和高准确性的流式处理应用程序。Apache Beam 是开源统一模型,用于定义可以跨多个执行引擎执行的流和批数据处理应用程序。AWS 软件开发工具包 (SDK) 以您的首选语言提供了应用程序编程接口 (API),无需对许多 AWS 服务进行复杂的代码编写,同时还包含 AWS 库、示例代码和文档。
灵活的 API
Kinesis Data Analytics 使用 Java、Scala、Python 和 SQL 提供灵活的 API,专门用于不同的使用案例,包括有状态事件处理、流式 ETL 和实时分析。预构建的运算符和分析功能可让您在几小时内完成 Apache Flink 流式处理应用程序的构建,无需花费数月时间。Kinesis Data Analytics 库可以扩展,使您可在各种使用案例中实现实时处理。
AWS 服务集成
您只需极少的代码即可设置和集成数据源或目标。您可以使用 Amazon Kinesis Data Analytics 库与 Amazon Simple Storage Service (S3)、Amazon Managed Streaming for Apache Kafka (Amazon MSK)、Amazon OpenSearch Service、Amazon DynamoDB、Amazon Kinesis Data Streams、Amazon Kinesis Data Firehose、Amazon CloudWatch 和 AWS Glue Schema Registry 集成。
高级集成功能
除 AWS 集成外,Kinesis Data Analytics 库还包含超过 10 种 Apache Flink 连接器,并且可以构建自定义集成。只需几行代码,您即可通过高级功能修改各项集成的行为方式。您可以使用一系列 Apache Flink 原语来构建自定义集成,这将允许您读取和写入通过互联网访问的文件、目录或其他资源。
与 AWS Glue Schema Registry 兼容
适用于 Apache Flink 的 Kinesis Data Analytics 与 AWS Glue Schema Registry 兼容。这种无服务器 AWS Glue 功能让您可以使用注册的 Apache Avro 架构来验证和控制流数据的演变,无需支付额外费用。Schema Registry 可帮助您在作为源或接收器连接到 Apache Kafka、Amazon Managed Streaming for Apache Kafka (MSK) 或 Amazon Kinesis Data Streams 的适用于 Apache Flink 的 Kinesis Data Analytics 工作负载上管理您的 Schema。当数据流处理应用程序与 Schema Registry 集成时,您可以改善数据质量并使用管辖 Schema 发展的兼容性检查来防止出现意外更改。
恰好一次处理
使用 Kinesis Data Analytics 中的 Apache Flink 构建处理后的记录对结果只有一次影响的应用程序,这种方法也称为恰好一次处理。即使发生应用程序中断的情况(例如内部服务维护或用户发起的应用程序更新),服务也将确保所有数据都得到处理,不会存在重复的数据。
有状态处理
此服务会在运行中的应用程序存储中存储以前和进行中的计算,也就是状态。比较任何时间周期的实时结果和历史结果,在发生应用程序中断时实现快速恢复。状态始终进行加密,并以增量的方式保存在运行中的应用程序存储中。
持久应用程序备份
您可以通过简单的 API 调用创建和删除持久性的应用程序备份。在发生中断后立即从最新的备份还原应用程序,或者将应用程序还原至较早的版本。
Amazon Kinesis Data Analytics Studio
流检查与可视化
Kinesis Data Analytics Studio 支持使用内置可视化功能实现亚秒级查询。您可以执行临时查询以在数秒内迅速检查您的数据流并查看结果。
简易的搭建并运行环境
Studio 笔记本能够为开发、调试代码和运行流处理应用程序提供单一界面的开发体验。
使用 SQL、Python 或 Scala 进行处理
Kinesis Data Analytics Studio 可在同一开发环境中支持 SQL、Python 和 Scala。Syntax 突出显示、验证和上下文相关建议将在笔记本中指引您使用内置的支持特定 Apache Flink 功能与数据交互。
快速的无服务器流处理应用程序开发
无需预置管理或扩展服务器。只需编写代码并为您的应用程序使用的资源付费。您可以简便地在笔记本中部署代码,以自动伸缩和持久性状态持续运行流处理应用程序。
开源
Kinesis Data Analytics Studio 依靠生产使用中的 Apache Flink 应用程序运行,与此同时,Apache Zeppelin 笔记本还将采用您所选择的语言为编写流应用程序提供熟悉、便捷的使用体验。
与 AWS Glue 数据目录集成
Amazon Glue 数据目录是一种永久元数据存储,内含表格定义,能够用作中心存储库。您可以使用 AWS Glue 数据目录跨多个 AWS 数据集快速发现和搜索数据。Kinesis Data Analytics Studio 与 AWS Glue 数据目录兼容,您可以为您的元数据和目标位置表格定义架构。
Kinesis Data Analytics SQL 应用程序
对于新项目,我们更推荐您使用全新的 Kinesis Data Analytics Studio,而不是适用于 SQL 应用程序的 Kinesis Data Analytics。Kinesis Data Analytics Studio 结合了各种易用的高级分析功能,助您在几分钟内打造出成熟而完善的流处理应用程序。
支持标准 SQL
Kinesis Data Analytics 支持标准 ANSI SQL,因此您只需熟悉 SQL 即可。
集成输入和输出
Kinesis Data Analytics 已与 Amazon Kinesis Data Streams 和 Amazon Kinesis Data Firehose 集成,让您可以随时提取流数据。在输入流中只需指定 Kinesis Data Analytics,它会自动读取和解析数据并使其处于可处理状态。您可以通过 Kinesis Data Firehose 将处理结果发送至包括 Amazon S3、Amazon Redshift 和 Amazon OpenSearch Service 在内的其他 AWS 服务。您还可以将输出数据发送到 Amazon Kinesis Data Streams 以构建高级流处理管道。
基于控制台的 SQL 编辑器
使用基于控制台的编辑器,利用流数据操作(如滑动时间范围平均值)构建 SQL 查询。您还可以使用实时数据查看流处理结果和错误,以交互方式调试或进一步优化脚本。
易于使用的 Schema 编辑器
Kinesis Data Analytics 提供易于使用的 schema 编辑器以发现和编辑输入数据结构。向导会自动识别 JSON 和 CSV 等标准的数据格式。它会推导输入数据的结构以创建基准架构,从而让您可以使用架构编辑器进一步细化。
预构建的 SQL 模板
交互式 SQL 编辑器捆绑了一系列 SQL 模板,这些模板为最常见的操作类型(如聚合、每个事件转换和筛选)提供基准 SQL 代码。您仅需选择适合您分析任务的模板,然后使用 SQL 编辑器编辑提供的代码,以针对具体使用案例对其进行定制。
高级流处理功能
Kinesis Data Analytics 提供了已针对流处理进行优化的功能,使您可以轻松执行高级分析,如流数据异常检测和 Top-K 分析。
Amazon Kinesis Data Analytics 入门

通过分步指南了解如何使用 Amazon Kinesis Data Analytics for SQL 和 Amazon Kinesis Data Analytics for Apache Flink。