フルマネージド Flink は、さまざまなコードテンプレートを提供しています。各コードテンプレートには、ユースケース、コードサンプル、および手順が用意されています。コードテンプレートを使用すると、フルマネージド Flink の機能と関連構文をすばやく理解し、独自のビジネスロジックを実装できます。このトピックでは、コードテンプレートのユースケースと使用方法について説明します。
制限事項
エンジンバージョンが vvr-4.0.12-flink-1.13 以後の Realtime Compute for Apache Flink のみ、コードテンプレートを提供します。
注意事項
ドラフトに使用されるコードテンプレートに INSERT INTO ステートメントが含まれていない場合、ドラフトをデプロイすることはできません。
サポートされているコードテンプレート
次の表に、フルマネージド Flink によって提供されるコードテンプレートと、各コードテンプレートのユースケースを示します。サポートされているコードテンプレートは、フルマネージド Flink のコンソールで確認できます。
カテゴリ | テンプレート名 | シナリオ |
基本テンプレート | テーブルの作成 | テーブルを作成してカタログに保存する場合、CREATE TABLE ステートメントを実行できます。テーブルに対する操作は、データベースに対する操作に似ています。 |
一時テーブルの作成 | 現在のセッションまたは SQL スクリプトでのみテーブルを使用する場合、CREATE TEMPORARY TABLE ステートメントを実行して一時テーブルを作成できます。 | |
一時ビューの作成 | Flink SQL ドラフトを開発するときに、コードを再利用したり、長いクエリを作成したり、SQL スクリプトを作成してドラフト開発を簡素化したりする場合、CREATE TEMPORARY VIEW ステートメントを実行して一時ビューを作成できます。 | |
INSERT INTO | クエリ結果をダウンストリームストレージシステムのテーブルに書き込む場合、INSERT INTO ステートメントを実行できます。 | |
STATEMENT SET | クエリ結果を複数のダウンストリームストレージシステムに書き込む場合、STATEMENT SET 構文を使用できます。 | |
ウォーターマーク | フルマネージド Flink で順序が正しくないデータを想定どおりに処理する場合、DDL ステートメントで WATERMARK 句を使用できます。CREATE TABLE DDL ステートメントで WATERMARK 句を使用してウォーターマークを作成できます。この句は、既存のフィールドに基づいてウォーターマークを生成する式を定義し、フィールドを時間属性フィールドとしてマークします。詳細については、「イベント時間とウォーターマーク」をご参照ください。 | |
集計および分析テンプレート | GROUP BY | データをリアルタイムで集計および分析する場合、GROUP BY 句を使用できます。 |
タンブルウィンドウの集計 | 時系列データをグループ化し、各グループのデータを集計および分析する場合、TUMBLE 関数を使用できます。 | |
ホップウィンドウの集計 | 指定された間隔でウィンドウ内のデータを更新する場合、HOP 関数を使用できます。 | |
累積ウィンドウの集計 | ウィンドウの計算結果を事前に表示する場合(1 分間隔でウィンドウの最新結果を表示するなど)、CUMULATE 関数を使用できます。 説明 CUMULATE 関数を使用して Change Data Capture(CDC)データを集計することはできません。 CUMULATE 関数を使用して CDC データを集計すると、 | |
セッションウィンドウの集計 | アクティブセッションのデータの統計情報をリアルタイムで収集する場合、SESSION 関数を使用できます。 | |
オーバーウィンドウの集計 | ウィンドウ内の各要素に対して統計分析を実行する場合、OVER ウィンドウを使用できます。 | |
チェーンウィンドウの集計 | 同じストリームのデータを異なる時間次元(1 分、5 分、30 分、1 時間など)で集計する場合、カスケードウィンドウを使用できます。 | |
重複排除テンプレート | 重複排除 | データストリームから重複データを削除する場合、重複排除構文を使用できます。 |
トップ N テンプレート | トップ N | ビジネス要件に基づいて計算結果を昇順または降順にソートし、最初の N 個のデータレコードを取得する場合、トップ N 構文を使用できます。 |
ウィンドウ トップ N | 計算結果を昇順または降順にソートし、指定された時間範囲の最初の N 個のデータレコードを取得する場合、ウィンドウトップ N 構文を使用できます。 | |
複合イベント処理(CEP)テンプレート | パターン認識 | データストリームで一連のイベントパターンを検索する場合、MATCH_RECOGNIZE 構文を使用できます。 |
JOIN テンプレート | 標準 JOIN | テーブルとストリームテーブルのデータに対して JOIN クエリを実行する場合、標準 JOIN を使用できます。 |
インターバル JOIN | 指定された期間内にテーブルとストリームテーブルのデータに対して JOIN クエリを実行する場合、インターバル JOIN を使用できます。 | |
テンポラル JOIN | ストリームテーブルのデータと別のテーブルの関連する時間バージョンのデータに対して JOIN クエリを実行する場合、テンポラル JOIN を使用できます。 | |
ルックアップ JOIN | 静的ディメンションテーブルとストリームテーブルのデータに対して JOIN クエリを実行する場合、ルックアップ JOIN を使用できます。 |
手順
この手順では、コードテンプレートの使用方法について説明します。この例では、[テーブルの作成] テンプレートを使用します。
Realtime Compute for Apache Flink コンソール にログインします。
管理するワークスペースを見つけ、コンソール[アクション] 列の をクリックします。
左側のナビゲーションペインで、 をクリックします。 SQL エディターページの左上隅にある [新規] をクリックします。
[SQLスクリプト] タブの [新規ドラフト] ダイアログボックスで、目的のテンプレートの名前をダブルクリックします。または、目的のテンプレートの名前をクリックし、ダイアログボックスの右下隅にある [次へ] をクリックすることもできます。

ドラフト構成セクションで、[名前]、[場所]、および [エンジンバージョン] パラメーターをビジネス要件に基づいて構成します。プレビューセクションで、SQL コードを記述します。

[作成] をクリックします。
後続の操作は、ドラフトを開発するために行われる操作と同じです。ドラフトの開発方法の詳細については、「SQL ドラフトの開発」をご参照ください。