Apache Flink 的 Kinesis Data Analytics of Apache Flink:工作方式 - Amazon Kinesis Data Analytics
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Apache Flink 的 Kinesis Data Analytics of Apache Flink:工作方式

Amazon Kinesis Data Analytics of Apache Flink 是一项完全托管的 Amazon 服务,可让您使用 Apache Flink 应用程序处理流数据。

编程你的 Apache Flink 应用程序

Apache Flink 应用程序是使用 Apache Flink 框架创建的 Java 或 Scala 应用程序。您在本地创作并构建 Apache Flink 应用程序。

应用程序主要使用DataStreamAPI或者表 API. 您也可以使用其他 Apache Flink API,但在构建流应用程序时很少使用这些 API。

这两个 API 的功能如下:

DataStream API

Apache FlinkDataStreamAPI 编程模型基于两个组件:

  • 数据流:数据记录连续流的结构化表示形式。

  • 转换操作符:将一个或多个数据流作为输入,并生成一个或多个数据流以作为输出。

使用创建的应用程序DataStreamAPI 执行以下操作:

  • 从数据源读取数据(例如 Kinesis 流或 Amazon MSK 主题)。

  • 对数据应用转换,例如筛选、聚合或丰富。

  • 将转换后的数据写入数据汇。

使用DataStreamAPI 可以用 Java 或 Scala 编写,也可以从 Kinesis 数据流、Amazon MSK 主题或自定义源中读取。

您的应用程序通过使用连接器. Apache Flink 使用以下类型的连接器:

  • :用于读取外部数据的连接器。

  • 接收器:用于写入外部位置的连接器。

  • 运算符:用于处理应用程序内数据的连接器。

典型的应用程序包含至少一个具有源的数据流、一个具有一个或多个操作符的数据流以及至少一个数据接收器。

有关如何使用 DataStream API 的更多信息,请参阅DataStream API

表 API

Apache Flink 表 API 编程模型基于以下组件:

  • 表环境:用于创建和托管一个或多个表的基础数据的接口。

  • 表:提供对 SQL 表或视图的访问权限的对象。

  • 表来源:用于从外部来源读取数据,例如亚马逊 MSK 主题。

  • 表函数:用于转换数据的 SQL 查询或 API 调用。

  • 表接收器:用于将数据写入外部位置,如 Amazon S3 存储桶。

使用表 API 创建的应用程序执行以下操作:

  • 创建TableEnvironment通过连接到Table Source.

  • 在中创建表TableEnvironment使用 SQL 查询或表 API 函数。

  • 使用表 API 或 SQL 对表运行查询

  • 使用表函数或 SQL 查询对查询结果应用转换。

  • 将查询或函数结果写入Table Sink.

使用表 API 的应用程序可以用 Java 或 Scala 编写,并可以使用 API 调用或 SQL 查询来查询数据。

有关使用表 API 的更多信息,请参阅表 API.

创建 Kinesis Data Analytics 应用程序

Kinesis Data Analytics 应用程序是Amazon由 Kinesis Data Analytics 服务托管的资源。您的 Kinesis Data Analytics 应用程序托管您的 Apache Flink 应用程序并为其提供以下设置:

  • 运行时属性可以提供给应用程序的参数。您可以更改这些参数,而无需重新编译应用程序代码。

  • 容错能力:应用程序如何从中断中恢复并重新启动。

  • 日志记录和监控:应用程序如何将事件记录到CloudWatch日志。

  • 扩展:应用程序如何配置计算资源。

您可以 Kinesis Data Analytics 制台或使用Amazon CLI. 要开始创建 Kinesis Data Analytics 应用程序,请参阅入门 (DataStreamAPI).