Managed Service for Apache Flink 的 Java 示例 - 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 的 Java 示例

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

注意

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

此示例说明如何在记录或状态对象上定义自定义 TypeInfo,以防止序列化回退至效率较低的 Kryo 序列化。例如,当您的对象包含 ListMap 时,这是必需的操作。有关更多信息,请参阅 Apache Flink 文档中的数据类型和序列化。该示例还展示如何测试对象的序列化是否回退到效率较低的 Kryo 序列化。

代码示例:CustomTypeInfo

此示例显示一个简单的应用程序,该应用程序使用 DataStream API 从 Kinesis 数据流中读取数据并写入另一个 Kinesis 数据流。该示例演示如何使用正确的依赖项设置文件,构建 uber-JAR,然后解析配置参数,这样您就可以在本地、IDE 和 Amazon Managed Service for Apache Flink 上运行应用程序。

代码示例:GettingStarted

此示例显示使用 Table API 和 SQL 的简单应用程序。其中演示如何在同一 Java 应用程序中将 DataStream API 与 Table API 或 SQL 集成。它还演示如何使用 DataGen 连接器在 Flink 应用程序内部生成随机测试数据,而无需使用外部数据生成器。

完整示例:GettingStartedTable

此示例演示如何使用 DataStream API 的 FileSink 将 JSON 文件写入 S3 存储桶。

代码示例:S3Sink

此示例演示如何使用标准使用者或 EFO 配置从 Kinesis 数据流使用的源,以及如何为 Kinesis 数据流设置接收器。

代码示例:KinesisConnectors

此示例说明如何将数据发送到 Amazon Data Firehose(以前称为 Kinesis Data Firehose)。

代码示例:KinesisFirehoseSink

此示例演示如何使用 Prometheus 接收器连接器将时间序列数据写入 Prometheus。

代码示例:PrometheusSink

此示例演示 DataStream API 中四种类型的窗口聚合。

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

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

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

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

代码示例:Windowing

此示例说明如何向 Flink 应用程序添加自定义指标并将其发送到 CloudWatch 指标。

代码示例:CustomMetrics

此示例说明如何使用 Kafka 配置提供程序设置自定义密钥库和信任存储库,其中包含用于 Kafka 连接器的 mTLS 身份验证的证书。此技术允许您在应用程序启动时从 Amazon S3 加载所需的自定义证书以及从 Amazon Secrets Manager 加载密钥。

代码示例:Kafka-mTLS-Keystore-ConfigProviders

此示例说明如何使用 Kafka 配置提供程序从 Amazon Secrets Manager 获取凭证并从 Amazon S3 下载信任存储库,以便在 Kafka 连接器上设置 SASL/SCRAM 身份验证。此技术允许您在应用程序启动时从 Amazon S3 加载所需的自定义证书以及从 Amazon Secrets Manager 加载密钥。

代码示例:Kafka-SASL_SSL-ConfigProviders

此示例说明如何使用 Table API /SQL 中的 Kafka 配置提供程序来设置自定义密钥库和信任存储库,其中包含用于 Kafka 连接器的 mTLS 身份验证的证书。此技术允许您在应用程序启动时从 Amazon S3 加载所需的自定义证书以及从 Amazon Secrets Manager 加载密钥。

代码示例:Kafka-mTLS-Keystore-Sql-ConfigProviders

此示例说明如何利用 Apache Flink 中的侧输出在指定属性上拆分流。当尝试在流应用程序中实现死信队列(DLQ)的概念时,这种模式特别有用。

代码示例:SideOutputs

此示例说明如何使用 Apache Flink 异步 I/O 以非阻塞方式调用外部端点,并对可恢复的错误进行重试。

代码示例:AsyncIO