このトピックでは、データストリームコネクタを使用してデータを読み書きする方法について説明します。
データストリームコネクタの依存関係と使用方法
データストリームコネクタを使用してデータを読み書きする場合、関連するタイプのデータストリームコネクタを使用してRealtime Compute for Apache Flinkに接続する必要があります。Maven 中央リポジトリに保存されている Ververica Runtime(VVR)データストリームコネクタを使用して、ドラフトを開発できます。
コネクタのインターフェイスとパラメーターは、今後変更される可能性があります。サポートされているコネクタでデータストリーム API を提供するために指定されているコネクタを使用することをお勧めします。
データストリームコネクタでは、商用暗号化保護がサポートされています。 データストリームコネクタを含むデプロイメントを実行すると、エラーが報告されます。 オンプレミス環境でコネクタを含む Realtime Compute for Apache Flink デプロイメントを実行またはデバッグする方法の詳細については、「オンプレミス環境でコネクタを含む Flink デプロイメントを実行またはデバッグする」をご参照ください。
コネクタは、次のいずれかの方法で使用できます。
(推奨)コネクタの JAR ファイルをアップロードし、追加の依存関係ファイルとして JAR ファイルを呼び出す
ドラフトの Maven プロジェクトの pom.xml ファイルに必要なコネクタをプロジェクトの依存関係として追加し、依存関係に <scope>provided</scope> を指定します。
説明${vvr.version}は、ドラフトのランタイム環境に対応するエンジンバージョンを示します。 ドラフトのエンジンバージョンがvvr-8.0.9-flink-1.17の場合、Flink バージョンは1.17.2です。 最新バージョンの VVR を使用することをお勧めします。 詳細については、「エンジンの更新」をご参照ください。このトピックでは、コネクタの JAR ファイルは追加の依存関係ファイルとして呼び出されます。 この場合、必要なコネクタをドラフトの JAR ファイルにパッケージ化する必要はありません。 したがって、コネクタの依存関係に
<scope>provided</scope>を指定する必要があります。
<!-- MySQL connector dependency --> <dependency> <groupId>com.alibaba.ververica</groupId> <artifactId>ververica-connector-mysql</artifactId> <version>${vvr.version}</version> <scope>provided</scope> </dependency>新しいコネクタを開発する場合、または既存のコネクタの拡張機能を使用する場合は、コネクタのパブリックパッケージ
flink-connector-baseまたはververica-connector-commonをプロジェクトの依存関係として追加します。<!-- Basic dependency of the public interface of Flink connectors --> <dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-connector-base</artifactId> <version>${flink.version}</version> </dependency> <!-- Basic dependency of the public interface of Alibaba Cloud connectors --> <dependency> <groupId>com.alibaba.ververica</groupId> <artifactId>ververica-connector-common</artifactId> <version>${vvr.version}</version> </dependency>ドラフトをデプロイし、JAR デプロイの作成ダイアログボックスの [追加の依存関係] フィールドに JAR パッケージを追加します。 詳細については、「JAR デプロイメントを作成する」をご参照ください。 開発したコネクタの JAR ファイル、または Realtime Compute for Apache Flink によって提供される コネクタ の JAR ファイルをアップロードできます。

コネクタをプロジェクトの依存関係としてドラフトの JAR ファイルにパッケージ化する
ドラフトの Maven プロジェクトの pom.xml ファイルに必要なコネクタをプロジェクトの依存関係として追加します。 たとえば、Kafka コネクタと MySQL コネクタを、ドラフトの Maven プロジェクトの pom.xml ファイルにプロジェクトの依存関係として追加できます。
説明${vvr.version}は、ドラフトのランタイム環境に対応するエンジンバージョンを示します。 ドラフトのエンジンバージョンがvvr-8.0.9-flink-1.17の場合、Flink バージョンは1.17.2です。 最新バージョンの VVR を使用することをお勧めします。 詳細については、「エンジンの更新」をご参照ください。このトピックでは、コネクタはプロジェクトの依存関係としてドラフトの JAR ファイルにパッケージ化されます。 この場合、依存関係にはデフォルトのスコープ(コンパイル)を使用する必要があります。
<!-- Kafka connector dependency --> <dependency> <groupId>com.alibaba.ververica</groupId> <artifactId>ververica-connector-kafka</artifactId> <version>${vvr.version}</version> </dependency> <!-- MySQL connector dependency --> <dependency> <groupId>com.alibaba.ververica</groupId> <artifactId>ververica-connector-mysql</artifactId> <version>${vvr.version}</version> </dependency>新しいコネクタを開発する場合、または既存のコネクタの拡張機能を使用する場合は、コネクタのパブリックパッケージ
flink-connector-baseまたはververica-connector-commonをプロジェクトの依存関係として追加します。<!-- Basic dependency of the public interface of Flink connectors --> <dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-connector-base</artifactId> <version>${flink.version}</version> </dependency> <!-- Basic dependency of the public interface of Alibaba Cloud connectors --> <dependency> <groupId>com.alibaba.ververica</groupId> <artifactId>ververica-connector-common</artifactId> <version>${vvr.version}</version> </dependency>
JAR パッケージの依存関係間の競合を防ぐために、次の点に注意してください。
${flink.version}を使用して、ドラフトのランタイム環境に対応する Flink バージョンを指定します。 指定された Flink バージョンは、[デプロイメント] ページに表示されるデプロイメントの Ververica Runtime(VVR)バージョンに対応する Flink バージョンと同じである必要があります。 たとえば、[デプロイメント] ページでドラフトに選択したエンジンバージョンがvvr-8.0.9-flink-1.17の場合、Flink バージョンは1.17.2です。 最新バージョンの VVR を使用することをお勧めします。 詳細については、「エンジンの更新」をご参照ください。Apache Flink の依存関係には、
<scope>provided</scope>を指定します。org.apache.flinkグループで名前がflink-で始まる非コネクタの依存関係が主に必要です。Apache Flink のソースコードで @Public または @PublicEvolving と明示的にマークされているメソッドのみを呼び出します。 Alibaba Cloud Realtime Compute for Apache Flink は、これらのメソッドとの互換性のみを保証します。
Realtime Compute for Apache Flink の組み込みコネクタでサポートされているデータストリーム API を使用する場合は、Realtime Compute for Apache Flink の組み込み依存関係を使用します。
参照
JAR ドラフトの開発方法の詳細については、「JAR ドラフトを開発する」をご参照ください。
データストリームコネクタの詳細については、「サポートされているコネクタ」をご参照ください。
データストリームコネクタでは、商用暗号化保護がサポートされています。 データストリームコネクタを含むデプロイメントを実行すると、エラーが報告されます。 オンプレミス環境でコネクタを含む Realtime Compute for Apache Flink デプロイメントを実行またはデバッグする方法の詳細については、「オンプレミス環境でコネクタを含む Flink デプロイメントを実行またはデバッグする」をご参照ください。