Managed Service for Apache Flink 的 Python 示例 - Managed Service for Apache Flink
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

Managed Service for Apache Flink 的 Python 示例

以下示例演示如何创建以 Python 编写的应用程序。

注意

大多数示例都设计为在本地、开发计算机和您选择的 IDE 上运行,以及在 Amazon Managed Service for Apache Flink 上运行。它们演示可用于传递应用程序参数的简单机制,以及如何正确设置依赖项,以便在不做任何更改的情况下在两个环境中运行应用程序。

项目依赖项

大多数 PyFlink 示例都需要一个或多个作为 JAR 文件的依赖项,例如用于 Flink 连接器的依赖项。然后,在 Amazon Managed Service for Apache Flink 上部署时,必须将这些依赖项与应用程序打包在一起。

以下示例已经包含可让您在本地运行应用程序以进行开发和测试以及正确打包所需依赖项的工具。此工具需要使用 Java JDK11 和 Apache Maven。有关具体说明,请参阅每个示例中包含的自述文件。

示例

此示例演示使用 Python 代码中所嵌入 SQL 的 PyFlink 应用程序的基本结构。该项目还为任何包含 JAR 依赖项(例如连接器)的 PyFlink 应用程序提供一个框架。自述文件部分提供有关如何在本地运行 Python 应用程序进行开发的详细指导。该示例还展示如何在您的 PyFlink 应用程序中包含单个 JAR 依赖项,即本示例中的 Kinesis SQL 连接器。

代码示例:GettingStarted

此示例说明如何以最通用的方式将 Python 依赖项添加到您的 PyfLink 应用程序中。此方法适用于简单的依赖项(例如 Boto3)或包含 C 程序库的复杂依赖项(例如 PyArrow)。

代码示例:PythonDependencies

此示例演示采用 Python 应用程序中所嵌入 SQL 的四种类型窗口聚合。

  1. 基于处理时间的滑动窗口

  2. 基于事件时间的滑动窗口

  3. 基于处理时间的滚动窗口

  4. 基于事件时间的滚动窗口

代码示例:Windowing

此示例说明如何使用 Python 应用程序中所嵌入 SQL 将输出作为 JSON 文件写入 Amazon S3。必须为 S3 接收器启用检查点功能,才能向 Amazon S3 写入和轮换文件。

代码示例:S3Sink

此示例演示如何定义用户定义函数,如何在 Python 中实现该函数,以及如何在 Python 应用程序中运行的 SQL 代码内使用该函数。

代码示例:UDF

此示例演示如何使用 SQL 将数据发送到 Amazon Data Firehose。

代码示例:FirehoseSink