このトピックでは、オープンソースの Flink リアルタイムエンジンを使用する Flink SQL タスクの作成方法について説明します。
前提条件
開始する前に、リアルタイムエンジンが有効になっており、プロジェクトのコンピュートソースとして Flink が設定されていることを確認してください。詳細については、「汎用プロジェクトの作成」をご参照ください。
権限
スーパー管理者、プロジェクト管理者、および開発者のみが Flink SQL コンピュートタスクを作成できます。
ステップ 1: Flink SQL タスクの作成
Dataphin ホームページの上部のナビゲーションバーで、[開発] > [データ開発] を選択します。
上部のナビゲーションバーで、プロジェクトを選択します。本番・開発モードの場合は、環境も選択します。
左側のナビゲーションウィンドウで、[データ処理] > [コンピュートタスク] を選択します。右側のコンピュートタスクリストで、
アイコンをクリックし、[Flink SQL] を選択します。[Flink SQL タスクの作成] ダイアログボックスで、パラメーターを設定します。
パラメーター
説明
タスク名
名前は次の要件を満たす必要があります。
小文字、数字、アンダースコア (_) のみを含める。
長さは 4~63 文字である。
プロジェクト内で一意である。
先頭は文字である。
本番環境リソースキュー/開発環境リソースキュー
プロジェクトがKubernetes デプロイモードの Flink コンピュートソースにバインドされている場合、リアルタイムジョブ用に設定されているすべてのリソースグループ (外部登録済みクラスター内のリソースグループを含む) を選択できます。
Flink コンピュートソースのデプロイモードが YARN の場合、ドロップダウンリストには、現在のプロジェクトにバインドされている Flink コンピュートソースによって管理されるすべてのリソースキューとセッションクラスターが含まれます。
説明プロジェクトワークスペースが Basic モードの場合、本番環境のリソースキューのみを設定できます。
本番環境エンジンバージョン/開発環境エンジンバージョン
タスクの Flink エンジンバージョンを選択します。Dataphin は次のバージョンをサポートしています。
1.20.1
1.15.3
1.14.2
1.13.1
説明本番/開発リソースキューにセッションクラスターを選択する場合、バージョン 1.20.1 のみを選択できます。
プロジェクトワークスペースが Basic モードの場合、本番環境のエンジンバージョンのみを設定できます。
格納場所
タスクを格納するディレクトリを選択します。
ディレクトリが存在しない場合は、[フォルダの作成] を実行できます。手順は次のとおりです。
左側のコンピュートタスクリストの上にある
アイコンをクリックして、[フォルダの作成] ダイアログボックスを開きます。[フォルダの作成] ダイアログボックスで、フォルダの [名前] を入力し、[ディレクトリの選択] でその場所を指定します。
[OK] をクリックします。
作成方法
[空のタスクを作成]、[サンプルコードを使用]、[テンプレートを使用] から選択できます。
空のタスクを作成:空の Flink SQL タスクを作成します。
サンプルコードを使用:組み込みのサンプルコードを使用してタスクを作成します。
テンプレートを使用:リアルタイムコンピュートタスクテンプレートに基づいてタスクを作成します。
説明
Flink SQL タスクの簡単な説明を入力します。説明は最大 1,000 文字です。
[OK] をクリックします。
ステップ 2: Flink SQL コードの開発とプリコンパイル
Flink SQL タスクのコードエディタで、コードを記述します。
Dataphin は、ネイティブ DDL 文からのメタテーブル作成をサポートしています。Dataphin がネイティブの
create tableまたはcreate temporary table文を検出した場合、エディタの
ヒントアイコンをクリックして、メタテーブルを迅速に作成できます。詳細については、「Flink SQL タスクの開発」をご参照ください。コードを記述した後、上部のメニューバーにある [フォーマット] ボタンをクリックして、SQL コードを自動的にフォーマットします。
上部のメニューバーで [プリコンパイル] をクリックして、コードの構文エラーと権限エラーを確認します。
事前コンパイルが成功した場合、[事前コンパイル成功] メッセージが表示されます。失敗した場合、[事前コンパイル失敗] メッセージが表示され、ページの下部にある [コンソール] をクリックして、事前コンパイル失敗のログを表示できます。
ステップ 3: Flink タスクの構成
エディタのサイドバーで、[構成] をクリックします。
構成パネルで、[リアルタイムモード] と [バッチモード] のタスク設定を行います。
説明Dataphin は、統合処理エンジンで [ストリーム-バッチ統合] をサポートします。同じコードに対してストリームとバッチの両方の設定を構成することで、単一のコードベースから異なるモードのインスタンスを生成できます。バッチ処理を有効にするには、タスク構成ページでバッチモードを有効にし、リソース、スケジューリング、依存関係、およびその他の設定を構成する必要があります。
リアルタイムモード
リソース構成 (必須):本番環境と開発環境のリソースキュー、エンジンバージョン、タスク並列度、タスクマネージャーの数、ジョブマネージャーメモリ、タスクマネージャーメモリを設定します。詳細については、「リアルタイムモードでの Ververica Flink のリソース構成」をご参照ください。
変数構成:コンピュートタスクのコードで使用される変数に値を割り当てることができます。これらの変数は、対応する値に自動的に置き換えられます。詳細については、「リアルタイムモードの変数構成」をご参照ください。
チェックポイント構成:Flink SQL ジョブのチェックポイントを構成すると、ジョブが再起動されたときに、予期せぬクラッシュが発生する前の状態に効果的に回復できます。構成の詳細については、「リアルタイムモードのチェックポイント構成」をご参照ください。
State 構成:State での自動データクリーンアップの期間を設定します。詳細については、「リアルタイムモードの State 構成」をご参照ください。
実行時パラメーター:Flink アプリケーションの実行動作とパフォーマンスを制御するための実行時パラメーターを設定します。詳細については、「リアルタイムモードでの実行時パラメーターの構成」をご参照ください。
依存ファイル:タスクが依存するリソースファイルを設定します。詳細については、「リアルタイムモードでの依存ファイルの構成」をご参照ください。
依存関係:デバッグ中に上流および下流タスクの依存関係を把握するために、依存関係を設定します。詳細については、「リアルタイムモードでの依存関係の構成」をご参照ください。
バッチモード (ベータ版)
重要Kubernetes 上のオープンソース Flink をリアルタイムコンピュートソースとして使用するプロジェクトでは、オフラインモードはサポートされていません。
リソース構成 (必須):本番環境と開発環境のリソースキュー、エンジンバージョン、タスク並列度、タスクマネージャーの数、ジョブマネージャーメモリ、タスクマネージャーメモリを設定します。構成手順については、「オフラインモードでのオープンソース Flink のリソース構成」をご参照ください。
変数構成:コンピュートタスクのコード内の変数に値を割り当てて、変数パラメーターが対応する値に自動的に置き換えられるようにします。構成手順については、「オフラインモードの変数構成」をご参照ください。
実行時パラメーター:Flink アプリケーションの実行動作とパフォーマンスを制御するための実行時パラメーターを設定します。詳細については、「バッチモードでの実行時パラメーターの構成」をご参照ください。
依存ファイル:Flink SQL タスクが依存するリソースファイルを設定します。詳細については、「バッチモードでの依存ファイルの構成」をご参照ください。
スケジューリング構成 (必須):本番環境でノードを定期的にスケジューリングする方法を設定します。スケジューリング周期、有効日、その他のプロパティを設定できます。詳細については、「バッチモードでのスケジューリングの構成」をご参照ください。
依存関係 (必須):デバッグ中に上流および下流タスクの依存関係を把握するために、依存関係を設定します。詳細については、「バッチモードでの依存関係の構成」をご参照ください。
[OK] をクリックします。
ステップ 4: Flink コードのデバッグ
上部のメニューバーにある [デバッグ] ボタンをクリックして、Flink コードをデバッグできます。この操作により、データがサンプリングされ、ローカルデバッグが実行されて、コードの正当性が確認されます。
デバッグ構成ダイアログボックスで、リアルタイムデバッグの場合は [リアルタイムモード - FLINK ストリームタスク] を、バッチデバッグの場合は [バッチモード - FLINK バッチタスク] を選択します。
リアルタイムデバッグ:このオプションは、対応するリアルタイムデータをサンプリングし、Flink ストリームモードでローカルデバッグを実行します。詳細については、「リアルタイムモードでのデバッグ」をご参照ください。
バッチデバッグ:このオプションは、対応するオフライン物理テーブルからデータをサンプリングし、Flink バッチモードでローカルデバッグを実行します。詳細については、「バッチモードでのデバッグ」をご参照ください。
一度にデバッグできるモードは 1 つだけです。選択したモードでは、対応するテーブルタイプからデータをサンプリングする必要があります。
ステップ 5: Flink SQL タスクの送信
上部のメニューバーにある [送信] ボタンをクリックします。
[送信] ダイアログボックスで、[送信内容] と [事前チェック] の情報を確認し、[送信コメント] を入力します。
[OK して送信] をクリックします。
プロジェクトが本番・開発モードの場合、Flink SQL タスクを本番環境に発行する必要があります。詳細については、「発行タスクの管理」をご参照ください。
次のステップ
送信が成功した後、O&M センターで Flink SQL ジョブを表示および管理して、ジョブが正常に実行されることを確認できます。詳細については、「リアルタイムジョブの表示と管理」をご参照ください。