このガイドでは、ストリーミングおよびバッチの Flink JAR ジョブを作成、デプロイ、開始する方法を示し、Realtime Compute for Apache Flink でのワークフローを説明します。
前提条件
-
RAM ユーザーまたは RAM ロールを使用する場合は、Flink コンソールに必要な権限があることを確認してください。詳細については、「権限管理」をご参照ください。
-
Flink ワークスペースを作成済みであること。詳細については、「Realtime Compute for Apache Flink の有効化」をご参照ください。
ステップ 1: JAR パッケージの開発
Realtime Compute for Apache Flink の 開発コンソール は、JAR パッケージ用の統合開発環境 (IDE) を提供していません。ジョブはローカルで開発、コンパイル、パッケージ化する必要があります。依存関係の設定、コネクタの使用、Object Storage Service (OSS) からの依存ファイルの読み取り方法の詳細については、「Flink JAR ジョブの開発」をご参照ください。
ローカル開発で使用する Flink のバージョンが、ステップ 3: JAR ジョブのデプロイで選択するエンジンバージョンと一致していることを確認してください。また、依存パッケージの範囲にも注意してください。
Flink JAR ジョブをすぐに開始できるように、このガイドではサンプルの単語カウント JAR パッケージとデータファイルを提供しています。これらのファイルをダウンロードして、以下の手順を完了できます。
-
FlinkQuickStart-1.0-SNAPSHOT.jar をクリックして、テスト用の JAR パッケージをダウンロードします。
ソースコードに興味がある場合は、FlinkQuickStart.zip をクリックしてダウンロードし、コンパイルしてください。
-
Shakespeare をクリックして、データファイルをダウンロードします。
ステップ 2: JAR パッケージとデータファイルのアップロード
-
Realtime Compute コンソールにログインします。
-
対象の Flink ワークスペースを見つけ、[操作] 列の [コンソール] をクリックします。
-
左側のナビゲーションウィンドウで、[アーティファクト] をクリックします。
-
[アーティファクトのアップロード] をクリックして、JAR パッケージとデータファイルをアップロードします。
このチュートリアルでは、ステップ 1 でダウンロードした FlinkQuickStart-1.0-SNAPSHOT.jar と Shakespeare ファイルをアップロードします。ファイルストレージパスの詳細については、「アーティファクト」をご参照ください。
ステップ 3: JAR ジョブのデプロイ
ストリーミングジョブ
-
ページで、[デプロイメントの作成] をクリックし、[JAR デプロイメント] を選択します。
-
デプロイメントパラメーターを設定します。
パラメーター
説明
例
デプロイメントモード
デプロイモードとしてストリームモードを選択します。
ストリームモード
デプロイメント名
JAR ジョブの名前を入力します。
flink-streaming-test-jar
エンジンバージョン
ジョブの Flink エンジンバージョン。
信頼性とパフォーマンスを向上させるために、[推奨] または [安定] タグが付いたバージョンを使用することを推奨します。詳細については、「リリースノート」および「エンジンバージョン」をご参照ください。
vvr-8.0.9-flink-1.17
[JAR URI]
ステップ 2 でアップロードした FlinkQuickStart-1.0-SNAPSHOT.jar ファイルを選択します。
アイコンをクリックして、独自の JAR パッケージをアップロードすることもできます。ファイルがすでに [アーティファクト] ページに存在する場合は、直接選択できます。
説明Realtime Compute for Apache Flink エンジン VVR 8.0.6 以降は、ワークスペースにバインドされたバケットにのみアクセスできます。
-
[エントリポイントクラス]
プログラムのエントリポイント。JAR パッケージがメインクラスを指定していない場合は、その完全修飾クラス名を入力する必要があります。
このドキュメントで提供されるテスト JAR パッケージには、ストリーミングジョブとバッチジョブの両方のコードが含まれています。そのため、ストリーミングジョブのエントリポイントを指定する必要があります。
org.example.WordCountStreaming
[エントリポイントのメイン引数]
main メソッドに渡す引数。
このチュートリアルでは、
Shakespeare入力データファイルのストレージパスを入力します。--input oss://<Your-OSS-Bucket-Name>/artifacts/namespaces/<Your-Namespace>/Shakespeare[アーティファクト] ページから Shakespeare ファイルの完全なパスをコピーできます。
デプロイ対象
ドロップダウンリストから、ターゲットの [リソースキュー] または [セッションクラスター] を選択します。詳細については、「リソースキューの管理」および「ステップ 1: セッションクラスターの作成」をご参照ください。
重要セッションクラスターにデプロイされたジョブは、アラートモニタリング、アラート設定、または自動チューニングをサポートしていません。本番環境ではセッションクラスターを使用しないでください。セッションクラスターは、開発およびテストを目的としています。詳細については、「ジョブのデバッグ」をご参照ください。
default-queue
設定パラメーターの詳細については、「ジョブのデプロイ」をご参照ください。
-
[デプロイ] をクリックします。
バッチジョブ
-
ページで、[デプロイメントの作成] をクリックし、[JAR デプロイメント] を選択します。
-
デプロイメントパラメーターを設定します。
パラメーター
説明
例
デプロイメントモード
デプロイモードとしてバッチモードを選択します。
バッチモード
デプロイメント名
JAR ジョブの名前を入力します。
flink-batch-test-jar
エンジンバージョン
ジョブの Flink エンジンバージョン。
信頼性とパフォーマンスを向上させるために、[推奨] または [安定] タグが付いたバージョンを使用することを推奨します。詳細については、「リリースノート」および「エンジンバージョン」をご参照ください。
vvr-8.0.9-flink-1.17
JAR URI
ステップ 2 でアップロードした FlinkQuickStart-1.0-SNAPSHOT.jar ファイルを選択します。
アイコンをクリックして、独自の JAR パッケージをアップロードすることもできます。-
エントリーポイントクラス
プログラムのエントリクラス。JAR パッケージがメインクラスを指定していない場合は、[エンドポイントクラス] の完全修飾名を入力します。
このドキュメントで提供されるテスト JAR パッケージには、ストリーミングジョブとバッチジョブの両方のコードが含まれています。そのため、バッチジョブのエントリポイントを指定する必要があります。
org.example.WordCountBatch
[エントリポイントのメイン引数]
main メソッドに渡す引数。
このチュートリアルでは、
Shakespeare入力データファイルとbatch-quickstart-test-output.txt出力データファイルのストレージパスを入力します。説明出力ファイルの完全なパスを指定します。システムはこのファイルを自動的に作成します。このチュートリアルでは、出力パスは入力ファイルと同じディレクトリにファイルを配置します。
--input oss://<Your-OSS-Bucket-Name>/artifacts/namespaces/<Your-Namespace>/Shakespeare--output oss://<Your-OSS-Bucket-Name>/artifacts/namespaces/<Your-Namespace>/batch-quickstart-test-output.txt[アーティファクト] ページから Shakespeare ファイルの完全なパスをコピーできます。
デプロイメント先
ドロップダウンリストから、ターゲットの [リソースキュー] または [セッションクラスター] を選択します。詳細については、「リソースキューの管理」および「ステップ 1: セッションクラスターの作成」をご参照ください。
重要セッションクラスターにデプロイされたジョブは、アラートモニタリング、アラート設定、または自動チューニングをサポートしていません。本番環境ではセッションクラスターを使用しないでください。セッションクラスターは、開発およびテストを目的としています。詳細については、「ジョブのデバッグ」をご参照ください。
default-queue
設定パラメーターの詳細については、「ジョブのデプロイ」をご参照ください。
-
[デプロイ] をクリックします。
ステップ 4: ジョブの開始と結果の表示
ストリーミングジョブ
-
ページで、対象のジョブを見つけ、[操作] 列の [開始] をクリックします。
-
[ステートレス開始] を選択し、[開始] をクリックします。ジョブの開始方法の詳細については、「ジョブの開始」をご参照ください。
-
ジョブのステータスが [RUNNING] になったら、ストリーミングジョブの結果を確認します。
.out で終わる TaskManager ログファイルで、
shakespeareを検索して Flink の結果を表示します。ログファイルを見つけるには、[ログ] タブに移動し、[実行中の TaskManager] で実行中の TaskManager を選択し、[ログリスト] タブをクリックします。
flink.outファイルを開き、shakespeareを検索して、(shakespeare,1) などの結果を見つけます。
バッチジョブ
-
ページで、対象のジョブを見つけ、[アクション] 列の [開始] をクリックします。
-
[ジョブの開始] ダイアログボックスで、[開始] をクリックします。ジョブの開始方法の詳細については、「ジョブの開始」をご参照ください。
-
ジョブのステータスが[FINISHED]になったら、バッチジョブの結果を表示します。
OSS コンソールにログインし、oss://<Your-OSS-Bucket-Name>/artifacts/namespaces/<Your-Namespace>/batch-quickstart-test-output.txt ファイルで結果を表示します。
以下は、
batch-quickstart-test-output.txtファイルの結果の例です。a 164 abhor 2 abide 2 able 1 about 1 above 4 absence 5 absent 4 abundance 4 abundant 1 abuse 3 abused 1 abuses 1 abysm 1 accents 1 acceptable 1 acceptance 1
ストリーミングジョブとバッチジョブの結果エントリの数が異なる場合があります。これは、TaskManager.out ログに最大 2,000 エントリが表示されるためです。この制限の詳細については、「Print」をご参照ください。
(任意) ステップ 5: ジョブの停止
ジョブに変更 (コードの変更、WITH パラメーターの更新、バージョンの変更など) を適用するには、ジョブを再デプロイし、停止してから再起動する必要があります。ステートレス開始や非動的構成の変更を適用する場合も再起動が必要です。ジョブの停止の詳細については、「ジョブの停止」をご参照ください。
関連ドキュメント
-
ジョブを開始する前にジョブリソースを設定したり、ジョブの実行後にリソースを変更したりできます。基本 (粗粒度) とエキスパート (細粒度) のリソースモードがサポートされています。詳細については、「ジョブリソースの設定」をご参照ください。
-
ジョブのパラメーターとリソースを動的に更新して、変更をより迅速に適用し、ジョブの再起動による中断を減らす方法を学びます。詳細については、「動的スケーリングとパラメーターの更新」をご参照ください。
-
ログレベルを設定し、異なるレベルに対して個別の出力を指定します。詳細については、「ジョブログ出力の設定」をご参照ください。
-
簡単な例に従って、Flink SQL ジョブの完全な開発ワークフローを学びます。詳細については、「Flink SQL ジョブ」をご参照ください。