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