Python 示例 - Managed Service for Apache Flink

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

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

Python 示例

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

注意

大多数示例都设计为既可以在本地运行,也可以在您选择的开发计算机上运行,也可以在适用于 Apache Flink 的亚马逊托管服务上运行。IDE它们演示了您可以用来传递应用程序参数的简单机制,以及如何正确设置依赖关系,以便在不做任何更改的情况下在两个环境中运行应用程序。

项目依赖关系

大多数 PyFlink 示例都需要一个或多个以JAR文件形式存在的依赖关系,例如 Flink 连接器。然后,在适用于 Apache Flink 的亚马逊托管服务上部署时,必须将这些依赖项与应用程序打包在一起。

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

示例

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

代码示例:GettingStarted

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

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

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

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

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

代码示例:开窗

此示例演示如何使用SQL嵌入在 Python 应用程序中将输出作为JSON文件写入 Amazon S3。您必须为 S3 接收器启用检查点功能,才能将文件写入和旋转到 Amazon S3。

代码示例:S3Sink

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

代码示例:UDF

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

代码示例:FirehoseSink