选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

开始使用适用于 Python 的 Apache Flink 的亚马逊托管服务

聚焦模式
开始使用适用于 Python 的 Apache Flink 的亚马逊托管服务 - Managed Service for Apache Flink

Amazon Managed Service for Apache Flink 之前称为 Amazon Kinesis Data Analytics for Apache Flink。

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

Amazon Managed Service for Apache Flink 之前称为 Amazon Kinesis Data Analytics for Apache Flink。

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

本节向您介绍使用 Python 和表 API 的 Managed Service for Apache Flink的基本概念。它介绍了可用于创建和测试应用程序的选项。它还提供了相应的说明以安装所需的工具,以完成本指南中的教程和创建第一个应用程序。

查看适用于 Apache Flink 的托管服务应用程序的组件

注意

适用于 Apache Flink 的亚马逊托管服务支持所有 Apache Flink。 APIs根据您选择的 API,应用程序的结构略有不同。在 Python 中开发 Apache Flink 应用程序时,一种流行的方法是使用 Python 代码中嵌入的 SQL 来定义应用程序流。这是我们在以下 Gettgin 入门教程中遵循的方法。

为了处理数据,适用于 Apache 的托管服务 Flink 应用程序使用 Python 脚本来定义使用 Apache Flink 运行时处理输入和生成输出的数据流。

适用于 Apache Flink 的典型托管服务应用程序包含以下组件:

  • 运行时系统属性:您可以使用运行时属性 配置应用程序,而无需重新编译应用程序代码。

  • 来源:应用程序使用来自一个或多个来源的数据。源使用连接器从外部系统读取数据,例如 Kinesis 数据流或 Amazon MSK 主题。您也可以使用特殊连接器从应用程序内部生成数据。使用 SQL 时,应用程序会将源定义为源表

  • 转换:应用程序使用一个或多个可以筛选、丰富或聚合数据的转换来处理数据。使用 SQL 时,应用程序会将转换定义为 SQL 查询。

  • 接收器:应用程序通过接收器将数据发送到外部。接收器使用连接器将数据发送到外部系统,例如 Kinesis 数据流、Amazon 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

我们建议您使用开发环境(例如PyCharmVisual Studio Code)来开发和编译应用程序。

然后,完成以下步骤的前两个步骤开始使用适用于 Apache Flink 的亚马逊托管服务 (DataStream API)

要开始使用,请参阅 创建 应用程序

本页内容

隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。