Amazon Managed Service for Apache Flink(Amazon MSF)之前称为 Amazon Kinesis Data Analytics for Apache Flink。
Amazon Managed Service for Apache Flink 入门(Python)
本节向您介绍使用 Python 和表 API 的 Managed Service for Apache Flink的基本概念。它介绍了可用于创建和测试应用程序的选项。它还提供了相应的说明以安装所需的工具,以完成本指南中的教程和创建第一个应用程序。
主题
审核 Managed Service for Apache Flink 应用程序组件
注意
Amazon Managed Service for Apache Flink Studio 支持所有 Apache Flink API
为了处理数据,Managed Service for Apache Flink 应用程序使用 Python 脚本定义数据流程,该流程使用 Apache Flink 运行时系统处理输入和生成输出。
典型的 Managed Service for Apache Flink 应用程序包含以下组件:
-
运行时系统属性:您可以使用运行时属性 配置应用程序,而无需重新编译应用程序代码。
-
源:应用程序使用来自一个或多个源的数据。源使用连接器
从外部系统(例如 Kinesis 数据流或 Amazon MSK 主题)读取数据。您也可以使用特殊连接器从应用程序内部生成数据。使用 SQL 时,应用程序将源定义为源表。 -
转换:应用程序使用一个或多个可以筛选、丰富或聚合数据的转换来处理数据。使用 SQL 时,应用程序将转换定义为 SQL 查询。
-
接收器:应用程序通过接收器将数据发送到外部源。接收器使用连接器
将数据发送到外部系统,例如 Kinesis 数据流、Amazon MSK 主题、Amazon MSK 主题、Amazon S3 存储桶或关系数据库。也可以使用特殊的连接器,仅出于开发目的打印输出。使用 SQL 时,应用程序会将接收器定义为接收器表,您可以在其中插入结果。有关更多信息,请参阅 在 Managed Service for Apache Flink 中使用接收器写入数据。
您的 Python 应用程序可能还需要外部依赖项,例如其他 Python 库或您的应用程序使用的任何 Flink 连接器。打包应用程序时,必须包含应用程序所需的所有依赖项。本教程演示如何包含连接器依赖项,以及如何打包应用程序以部署到 Amazon Managed Service for 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 进行本地开发。这与 Amazon Managed Service for Apache Flink 在 Flink 运行时 1.19 中使用的 Python 版本相同。
在 Python 3.12 上安装 Python Flink 库 1.19 可能会失败。
如果您的计算机上默认安装另一个 Python 版本,我们建议您使用 Python 3.11 创建独立环境,例如 VirtualEnv。
用于本地开发的 IDE
我们建议您使用诸如 PyCharm
然后,完成 Amazon Managed Service for Apache Flink 入门(DataStream API) 的前两个步骤:
要开始使用,请参阅创建应用程序。