Amazon Managed Service for Apache Flink 之前称为 Amazon Kinesis Data Analytics for Apache Flink。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
以下示例演示如何创建用 Java 编写的应用程序。
注意
大多数示例都设计为在本地运行,可以在您的开发计算机和您选择的 IDE 上运行,也可以在适用于 Apache Flink 的亚马逊托管服务上运行。它们演示了可用于传递应用程序参数的机制,以及如何正确设置依赖关系,以便在不做任何更改的情况下在两个环境中运行应用程序。
此示例说明了如何在记录或状态对象 TypeInfo 上定义自定义,以防止序列化回效率较低的 Kryo 序列化。例如,当您的对象包含List
或时,这是必需的Map
。有关更多信息,请参阅 Apache Flink 文档中的数据类型和序列化
代码示例:CustomTypeInfo
此示例显示了一个简单的应用程序,它使用 API 从 Kinesis 数据流中读取数据并写入另一个 Kinesis 数据流。DataStream
该示例演示了如何使用正确的依赖项设置文件,构建 Uber-JAR,然后解析配置参数,这样您就可以在本地、IDE 和 Apache Flink 的亚马逊托管服务上运行应用程序。
代码示例:GettingStarted
此示例显示了一个使用 Table
API 和 SQL 的简单应用程序。它演示了如何在同一 Java 应用程序中将 Table
API 与 API 或 SQL 集成。DataStream
它还演示了如何使用DataGen
连接器在 Flink 应用程序本身内部生成随机测试数据,无需外部数据生成器。
完整示例:GettingStartedTable
此示例演示如何使用 DataStream
API 将 JSON 文件写入 S3 存储桶。FileSink
代码示例:S3Sink
此示例演示如何使用标准使用器或 EFO 配置来自 Kinesis 数据流的消耗源,以及如何为 Kinesis 数据流设置接收器。
代码示例:KinesisConnectors
此示例说明如何将数据发送到亚马逊 Data Firehose(以前称为 Kinesis Data Firehose)。
代码示例:KinesisFirehoseSink
此示例演示如何使用 Prometheus 接收器连接器将时间序列数据写入 Prometheus
代码示例:PrometheusSink
此示例演示了 DataStream
API 中四种类型的窗口聚合。
-
基于处理时间的滑动窗口
-
基于事件时间的滑动窗口
-
基于处理时间的翻滚窗口
-
基于事件时间的翻滚窗口
代码示例:开窗
此示例说明如何将自定义指标添加到您的 Flink 应用程序并将其发送到 CloudWatch 指标。
代码示例:CustomMetrics
此示例说明如何使用 Kafka 配置提供程序设置自定义密钥库和信任库,其中包含用于 Kafka 连接器的 mTLS 身份验证的证书。此技术允许您从 Amazon S3 加载所需的自定义证书以及应用程序启动 AWS Secrets Manager 时的密钥。
代码示例:kafka-mtls-keystore-ConfigProviders
此示例说明了如何使用 Kafka 配置提供程序从 Amazon S3 获取证书 AWS Secrets Manager 并从 Amazon S3 下载信任库,以便在 Kafka 连接器上设置 SASL/SCRAM 身份验证。此技术允许您从 Amazon S3 加载所需的自定义证书以及应用程序启动 AWS Secrets Manager 时的密钥。
代码示例:Kafka--SASL_SSL ConfigProviders
此示例说明了如何使用 Table API /SQL 中的 Kafka 配置提供程序来设置自定义密钥库和信任库,其中包含用于 Kafka 连接器的 mTLS 身份验证的证书。此技术允许您从 Amazon S3 加载所需的自定义证书以及应用程序启动 AWS Secrets Manager 时的密钥。
代码示例:kafka-mtls-keystore-SQL-ConfigProviders
此示例说明如何利用 Apache Flink 中的侧输出
代码示例:SideOutputs
此示例说明如何使用 Apache Flink Async I/O
代码示例:async