本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
將 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.2 時,您需要將連接器相依性更新為與 Flink 2.x 執行時間相容的版本。Flink 連接器獨立於 Flink 執行期發行,而且並非所有連接器都有 Flink 2.x 相容版本。下表摘要說明截至撰寫時 Amazon Managed Service for Apache Flink 中常用連接器的可用性:
| 連接器 | 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 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 中解決。
如需詳細資訊,請參閱已知問題。