將 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、Table 或 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 相容版本。下表摘要說明截至撰寫時 Amazon Managed Service for Apache Flink 中常用連接器的可用性:

Flink 2.2 的連接器
連接器 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 串流進行重新分片時,連接器 v5.0.0 和 v6.0.0 中引入KinesisStreamsSource搭配 EFO (增強廣發/SubscribeToShard) 路徑使用 的應用程式可能會失敗。這是社群中的已知問題。如需詳細資訊,請參閱 FLINK-37648

  • 如果 Flink 應用程式處於背壓狀態,則連接器 v5.0.0 和 v6.0.0 中引入KinesisStreamsSource搭配 EFO (增強廣發/SubscribeToShard) 路徑使用 的應用程式KinesisStreamsSink可能會遇到死結,導致一個或多個 TaskManagers 中的資料處理完全停止。需要強制停止操作和啟動應用程式操作才能復原應用程式。這是社群中已知問題的子案例:FLINK-34071

舊版 Flink 的連接器

舊版 Flink 的連接器
連接器 Flink 1.15 版 Flink 1.18 版 Flink 1.19 版 Flink 1.20 版
Kinesis Data Stream - 來源 - 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 Data Stream - Sink - 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 - 來源/接收器 - 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 - DataStream 和資料表 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 - 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
Amazon Managed Service for 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
Amazon 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 中解決。

如需詳細資訊,請參閱已知問題