Amazon Managed Service for Apache Flink 之前称为 Amazon Kinesis Data Analytics for Apache Flink。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
开始使用适用于 Python 的 Apache Flink 的亚马逊托管服务
本节向您介绍使用 Python 和表的 Apache Flink 托管服务的基本概念。API它介绍了可用于创建和测试应用程序的选项。它还提供了相应的说明以安装所需的工具,以完成本指南中的教程和创建第一个应用程序。
查看适用于 Apache Flink 的托管服务应用程序的组件
注意
适用于 Apache Flink 的亚马逊托管服务支持所有 Apache Flink。APIs
为了处理数据,适用于 Apache 的托管服务 Flink 应用程序使用 Python 脚本来定义使用 Apache Flink 运行时处理输入和生成输出的数据流。
适用于 Apache Flink 的典型托管服务应用程序包含以下组件:
-
运行时系统属性:您可以使用运行时属性 配置应用程序,而无需重新编译应用程序代码。
-
来源:应用程序使用来自一个或多个来源的数据。源使用连接
器从外部系统(例如 Kinesis 数据流或 Ama MSK zon 主题)读取数据。您也可以使用特殊连接器从应用程序内部生成数据。使用时SQL,应用程序会将源定义为源表。 -
转换:应用程序使用一个或多个可以筛选、丰富或聚合数据的转换来处理数据。使用时SQL,应用程序会将转换定义为SQL查询。
-
接收器:应用程序通过接收器将数据发送到外部源。接收器使用连接
器将数据发送到外部系统,例如 Kinesis 数据流、亚马逊MSK主题、Amazon S3 存储桶或关系数据库。您也可以使用特殊的连接器打印输出以用于开发目的。使用时SQL,应用程序会将接收器定义为在其中插入结果的汇表。有关更多信息,请参阅 在 Apache Flink 托管服务中使用接收器写入数据。
您的 Python 应用程序可能还需要外部依赖项,例如其他 Python 库或您的应用程序使用的任何 Flink 连接器。打包应用程序时,必须包含应用程序所需的所有依赖项。本教程演示如何包含连接器依赖关系,以及如何打包应用程序以部署到适用于 Apache Flink 的亚马逊托管服务上。
满足先决条件
要完成本教程,您必须具备以下条件:
-
Python 3.11,最好使用像 VirtualEnv (venv)
、Conda 或 Miniconda 这样的独立环境。 -
Git 客户端
-如果尚未安装 Git 客户端,请安装。 -
Java 开发套件 (JDK) 版本 11
-安装 Java JDK 11 并将 JAVA_HOME
环境变量设置为指向您的安装位置。如果你没有 JDK 11,你可以使用Amazon Corretto或我们选择的任何标准JDK。-
要验证是否已JDK正确安装,请运行以下命令。如果您使用的是 Amazon Corretto 11 以外JDK的其他版本,则输出会有所不同。确保版本为 11.x。
$ java --version openjdk 11.0.23 2024-04-16 LTS OpenJDK Runtime Environment Corretto-11.0.23.9.1 (build 11.0.23+9-LTS) OpenJDK 64-Bit Server VM Corretto-11.0.23.9.1 (build 11.0.23+9-LTS, mixed mode)
-
-
Apache Maven
-如果你还没有安装 Apache Maven,请安装它。有关更多信息,请参阅安装 Apache Maven 。 -
要测试你的 Apache Maven 安装情况,请使用以下命令:
$ mvn -version
-
注意
尽管你的应用程序是用 Python 编写的,但 Apache Flink 在 Java 虚拟机 () JVM 中运行。它以文件形式分发大部分依赖关系,例如 Kinesis 连接器JAR。要管理这些依赖关系并将应用程序打包到ZIP文件中,请使用 Apache Maven
警告
我们建议你使用 Python 3.11 进行本地开发。这与 Apache Flink 的亚马逊托管服务在 Flink 运行时 1.19 中使用的 Python 版本相同。
在 Python 3.12 上安装 Python Flink 库 1.19 可能会失败。
如果您的计算机上默认安装了另一个 Python 版本,我们建议您创建一个独立环境,例如 VirtualEnv 使用 Python 3.11。
IDE用于地方发展
我们建议您使用开发环境(例如PyCharm
然后,完成以下步骤的前两个步骤开始使用适用于 Apache Flink 的亚马逊托管服务 () DataStream API:
要开始使用,请参阅 创建应用程序。