Managed Service for Apache Flink で Apache Flink コネクタを使用する - Managed Service for Apache Flink

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Managed Service for Apache Flink で 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 API、Table API、SQL API のどれを使用しているかによって異なります。

Amazon Managed Service for Apache Flink は、40 を超える構築済みの Apache Flink ソースコネクタとシンクコネクタをサポートしています。次の表は、最も一般的なコネクタとその関連バージョンの概要を示します。非同期シンクフレームワークを使用してカスタムシンクを構築することもできます。詳細については、Apache Flink ドキュメントの「The Generic Asynchronous Base Sink」を参照してください。

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 カタログやカスタムシンクを使用するなど) という 2 つのオプションがあります。

既知の問題

  • コネクタ v5.0.0 および v6.0.0 で導入された EFO (拡張ファンアウト/SubscribeToShard) パスKinesisStreamsSourceで を使用するアプリケーションは、Kinesis ストリームがリシャーディングされると失敗することがあります。これはコミュニティの既知の問題です。詳細については、「FLINK-37648」を参照してください。

  • コネクタ v5.0.0 および v6.0.0 で導入された EFO (拡張ファンアウト/SubscribeToShard) パスKinesisStreamsSourceで を使用するアプリケーションは、Flink アプリケーションにバックプレッシャーがかかっている場合にデッドロックが発生し、1 つ以上の TaskManagers でのデータ処理が完全に停止KinesisStreamsSinkする可能性があります。アプリを復旧するには、強制停止オペレーションとアプリの開始オペレーションが必要です。これは、コミュニティの既知の問題のサブケースである FLINK-34071 です。

古い Flink バージョンのコネクタ

古い Flink バージョンのコネクタ
コネクタ Flink バージョン 1.15 Flink バージョン 1.18 Flink バージョン 1.19 Flink バージョン 1.20
Kinesis Data Stream - ソース - DataStream API と Table 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 - シンク - DataStream API と Table 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 と 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 - DataStream API と Table 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 と Table 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 と Table 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 と Table 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 で解決されています。

詳細については、「既知の問題」を参照してください。