将 Apache Flink 连接器与 Managed Service for Apache Flink 一起使用 - Managed Service for Apache Flink

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

将 Apache Flink 连接器与 Managed Service for Apache Flink 一起使用

Apache Flink 连接器是将数据移入和移出 Amazon Managed Service for Apache Flink 应用程序的软件组件。连接器是灵活集成的组件,可让您读取文件和目录。连接器包含用于与 Amazon 服务和第三方系统交互的完整模块。

连接器类型包括:

  • 源:从 Kinesis 数据流、文件、Apache Kafka 主题或其他数据源中向应用程序提供数据。

  • 接收器: 将数据从应用程序发送到 Kinesis 数据流、Firehose 流、Apache Kafka 主题或其他数据目标。

  • 异步 I/O:提供对数据来源(例如数据库)的异步访问以丰富流。

Apache Flink 连接器存储在它们自己的源存储库中。Apache Flink 连接器的版本和工件会根据你使用的 Apache Flink 版本以及你使用的是 DataStream、表还是 SQL API 而变化。

Amazon Managed Service for Apache Flink 支持 40 多个预先构建的 Apache Flink 源和接收器连接器。下表提供了最流行连接器及其关联版本的摘要。您也可以使用异步接收器框架构建自定义接收器。有关更多信息,请参阅 Apache Flink 文档中的通用异步基础接收器

要访问 Apache Flink AWS 连接器的存储库,请参阅。flink-connector-aws

升级到 Flink 2.2 时,您需要将连接器依赖项更新为与 Flink 2.x 运行时兼容的版本。Flink 连接器是独立于 Flink 运行时发布的,而且并非所有连接器都有兼容 Flink 2.x 的版本。下表汇总了截至撰写本文时适用于 Apache Flink 的亚马逊托管服务中常用连接器的可用性:

适用于 Flink 2.2 的连接器
Connector Flink 2.0+ 版本 注意
Apache Kafka flink-connector-kafka 4.0.0-2.0 推荐用于 Flink 2.2
Kinesis Data Streams(来源) flink-connector-aws-kinesis-streams 6.0.0-2.0 推荐用于 Flink 2.2
Kinesis Data Streams(接收器) flink-connector-aws-kinesis-streams 6.0.0-2.0 推荐用于 Flink 2.2
FileSystem (S3、HDFS) 与 Flink 捆绑在一起 内置于 Flink 发行版中 — 始终可用
JDBC 2.x 版尚未发布 没有兼容 Flink 2.x 的版本可用
OpenSearch 2.x 版尚未发布 没有兼容 Flink 2.x 的版本可用
Elasticsearch 2.x 版尚未发布 考虑迁移到 OpenSearch 连接器
Amazon Managed Service for Prometheus 2.x 版尚未发布 在撰写本文时,尚无兼容 Flink 2.x 的版本

如果您的应用程序依赖的连接器还没有 Flink 2.2 版本,则有两种选择:等待连接器发布兼容版本,或者评估是否可以将其替换为替代版本(例如,使用 JDBC 目录或自定义接收器)。

已知问题

  • 当 Kinesis KinesisStreamsSource 直播进行重新分片时,使用连接器 v5.0.0 和 v6.0.0 中引入的 with EFO(增强型扇出/ SubscribeToShard)路径的应用程序可能会失败。这是社区中的一个已知问题。有关更多信息,请参阅 FLINK-37648

  • 如果 Flink 应用程序处于背压之下,则使用连接器 v5.0.0 和 v6.0.0 中引入的 with EFO(增强型扇出/ SubscribeToShard)路径的应用程序KinesisStreamsSink可能会遇到死锁,从而导致一个或多个应用程序的数据处理完全停止。KinesisStreamsSource TaskManagers恢复应用程序需要强制停止操作和启动应用程序操作。这是社区中已知问题的一个子案例:FLINK-34071

适用于旧版 Flink 的连接器

适用于旧版 Flink 的连接器
Connector Flink 版本 1.15 Flink 版本 1.18 Flink 1.19 Flink 1.20
Kinesis 数据流-来源- DataStream 和表 API flink-connector-kinesis,1.15.4 flink-connector-kinesis,4.3.0-1.18 flink-connector-kinesis,5.0.0-1.19 flink-connector-kinesis,5.0.0-1.20
Kinesis 数据流-接收器- DataStream 和表 API flink-connector-aws-kinesis-streams,1.15.4 flink-connector-aws-kinesis-streams,4.3.0-1.18 flink-connector-aws-kinesis-streams,5.0.0-1.19 flink-connector-aws-kinesis-streams,5.0.0-1.20
Kinesis Data Streams Source/Sink — SQL flink-sql-connector-kinesis,1.15.4 flink-sql-connector-kinesis,4.3.0-1.18 flink-sql-connector-kinesis,5.0.0-1.19 flink-sql-connector-kinesis-streams,5.0.0-1.20
Kafka-and DataStream Table API flink-connector-kafka,1.15.4 flink-connector-kafka,3.2.0-1.18 flink-connector-kafka,3.3.0-1.19 flink-connector-kafka,3.3.0-1.20
Kafka - SQL flink-sql-connector-kafka,1.15.4 flink-sql-connector-kafka,3.2.0-1.18 flink-sql-connector-kafka,3.3.0-1.19 flink-sql-connector-kafka,3.3.0-1.20
Firehose-and Table DataStream API flink-connector-aws-kinesis-firehose,1.15.4 flink-connector-aws-firehose,4.3.0-1.18 flink-connector-aws-firehose,5.0.0-1.19 flink-connector-aws-firehose,5.0.0-1.20
Firehose - SQL flink-sql-connector-aws-kinesis-firehose,1.15.4 flink-sql-connector-aws-firehose,4.3.0-1.18 flink-sql-connector-aws-firehose,5.0.0-1.19 flink-sql-connector-aws-firehose,5.0.0-1.20
DynamoDB DataStream -和表 API flink-connector-dynamodb,3.0.0-1.15 flink-connector-dynamodb,4.3.0-1.18 flink-connector-dynamodb,5.0.0-1.19 flink-connector-dynamodb,5.0.0-1.20
DynamoDB - SQL flink-sql-connector-dynamodb,3.0.0-1.15 flink-sql-connector-dynamodb,4.3.0-1.18 flink-sql-connector-dynamodb,5.0.0-1.19 flink-sql-connector-dynamodb,5.0.0-1.20
OpenSearch - DataStream 还有表格 API - flink-connector-opensearch,1.2.0-1.18 flink-connector-opensearch,1.2.0-1.19 flink-connector-opensearch,1.2.0-1.19
OpenSearch -SQL - flink-sql-connector-opensearch,1.2.0-1.18 flink-sql-connector-opensearch,1.2.0-1.19 flink-sql-connector-opensearch,1.2.0-1.19
适用于 Prometheus 的亚马逊托管服务 DataStream - flink-sql-connector-opensearch,1.2.0-1.18 flink-connector-prometheus,1.0.0-1.19 flink-connector-prometheus,1.0.0-1.20
亚马逊 SQS DataStream 和表 API - flink-sql-connector-opensearch,1.2.0-1.18 flink-connector-sqs,5.0.0-1.19 flink-connector-sqs,5.0.0-1.20

要了解有关 Amazon Managed Service for Apache Flink 中连接器的更多信息,请参阅:

已知问题

Apache Flink 1.15 中的 Apache Kafka 连接器存在已知的开源 Apache Flink 问题。此问题已在更高版本的 Apache Flink 中得到解决。

有关更多信息,请参阅 已知问题