Amazon Managed Service for Apache Flink 之前称为 Amazon Kinesis Data Analytics for Apache Flink。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
适用于 Apache Flink 的托管服务:工作原理
适用于 Apache Flink 的托管服务是一项完全托管的亚马逊服务,允许您使用 Apache Flink 应用程序来处理流数据。首先,对 Apache Flink 应用程序进行编程,然后创建适用于 Apache Flink 的托管服务应用程序。
编程你的 Apache Flink 应用程序
Apache Flink 应用程序是使用 Apache Flink 框架创建的 Java 或 Scala 应用程序。您可以在本地创作和构建 Apache Flink 应用程序。
应用程序主要使用DataStream API
两者的特点APIs如下:
DataStream API
Apache Flink DataStream API 编程模型基于两个组件:
-
数据流:连续数据记录流的结构化表示形式。
-
转换操作符:将一个或多个数据流作为输入,并生成一个或多个数据流以作为输出。
使用创建的应用程序 DataStream API执行以下操作:
从数据源(例如 Kinesis 直播或 Amazon MSK 主题)读取数据。
对数据进行转换,例如筛选、聚合或扩充。
将转换后的数据写入数据接收器。
使用 Java 或 Scala 的应用程序 DataStream API可以用 Java 或 Scala 编写,并且可以从 Kinesis 数据流、A MSK mazon 主题或自定义源中读取。
您的应用程序使用连接器处理数据。Apache Flink 使用以下连接器类型:
-
来源:用于读取外部数据的连接器。
-
接收器:用于写入外部位置的连接器。
-
运算符:用于处理应用程序内数据的连接器。
典型的应用程序包含至少一个具有源的数据流、一个具有一个或多个操作符的数据流以及至少一个数据接收器。
有关使用的更多信息 DataStream API,请参阅查看 DataStream API组件。
桌子 API
Apache Flink Table API 编程模型基于以下组件:
-
表环境:用于创建和托管一个或多个表的基础数据的接口。
-
表:提供对SQL表格或视图的访问权限的对象。
-
表来源:用于从外部来源(例如 Amazon MSK 主题)读取数据。
-
表函数:用于转换数据的SQL查询或API调用。
-
表接收器:用于将数据写入 Amazon S3 桶等外部位置。
使用该表创建的应用程序API执行以下操作:
通过连接到 a
Table Source
来创建TableEnvironment
。TableEnvironment
使用SQL查询或表API函数在中创建表。使用 “表” 或 “表” 对表API运行查询 SQL
使用表函数或SQL查询对查询结果进行转换。
将查询或函数结果写入
Table Sink
.
使用该表的应用程序API可以用 Java 或 Scala 编写,并且可以使用API调用或查询来SQL查询数据。
有关使用该表的更多信息API,请参阅查看表API组件。
为 Apache Flink 应用程序创建你的托管服务
适用于 Apache Flink 的托管 Amazon 服务是一项服务,它可以创建用于托管 Apache Flink 应用程序的环境,并为其提供以下设置:
-
在 Apache Flink 的托管服务中使用运行时属性:您可以为应用程序提供的参数。无需重新编译应用程序代码即可更改这些参数。
-
在 Apache Flink 的托管服务中实现容错能力:您的应用程序如何从中断和重启中恢复。
-
在适用于 Apache Flink 的亚马逊托管服务中进行日志记录和监控:您的应用程序如何将事件记录到 CloudWatch 日志。
-
在 Apache Flink 的托管服务中实现应用程序扩展:您的应用程序如何配置计算资源。
您可以使用控制台或 Amazon CLI创建和运行应用程序的 Managed Service for Apache Flink。要开始创建 Managed Service for Apache Flink 应用程序,请参阅教程:开始使用适用于 Apache Flink 的托管服务 DataStream API中的。