This documentation is for an unreleased version of Apache Flink. We recommend you use the latest stable version.
Connectors and Formats
コネクタとフォーマット #
Flinkアプリケーションはコネクタを介して様々な外部システムとの間で読み書きを行うことができます。 Flinkのデータ構造に一致するようにデータをエンコードおよびでコードするために、複数の形式をサポートしています。。
利用可能なコネクタとフォーマットの概要は、DataStreamとTable API/SQLの両方で利用できます。
利用可能なアーティファクト #
コネクタとフォーマットを使うには、Flinkがそれらを実装するアーティファクトにアクセスできることを確認する必要があります。 Flinkコミュニティでサポートされているコネクタごとに、Maven Centralで2つのアーティファクトを公開しています:
flink-connector-<NAME>
コネクタコードのみを含む薄いJARですが、最終的なサードパーティの依存関係は含まれません。flink-sql-connector-<NAME>
全てのコネクタのサードパーティ依存関係で利用できるuber JARです。
フォーマットについても同様です。一部のコネクタはサードパーティの依存関係を必要としないため、対応するflink-sql-connector-<NAME>
アーティファクトを持たない場合があることに注意してください。
uber/fat JARsは、主にSQLクライアントと組み合わせて使うためにサポートされています。ただし、任意のDataStream/Tableアプリケーションでも使えます。
アーティファクトの使用 #
コネクタ/フォーマットモジュールを使うには、次のいずれかを行います:
- ジョブJAR内のthin JARとその推移的な依存関係をシェーディングする
- ジョブJARでuber JARをシェーディングする
- uber JARをFlinkディストリビューションの
/lib
フォルダに直接コピーします
シェーディングの依存関係については、特定のMavenとGradleガイドを確認してください。 Flinkのディストリビューションに関するリファレンスについては、Anatomy of the Flink distributionを確認してください。
uber JARをシェーディングするか、thin JARをシェーディングするか、単に依存関係をシェーディングに含めるかは、ユーザとユーザのユースケース次第です。
依存関係をシェーディングすると、ジョブJAR内の依存関係のバージョンをより詳細に制御できるようになります。
thin JARをシェーディングする場合、コネクタのバージョンを変更できるため(バイナリ互換性が許可される場合)、推移的な依存関係をさらに詳細に制御できます。
コネクタ uber JARをFlinkディストリビューションの/lib
フォルダに直接埋め込む場合、全てのジョブのコネクタバージョンを1箇所で制御できます。