Fully managed Flink は、豊富なコードテンプレートを提供します。各テンプレートには、特定の利用シーン、コードサンプル、および手順が含まれています。これらのテンプレートを活用することで、Flink の特徴や構文を迅速に理解し、ビジネスロジックを実装できます。本トピックでは、コードテンプレートの利用シーンおよび使用手順について説明します。
制限事項
コードテンプレートは、リアルタイムコンピューティングエンジンのバージョン vvr-4.0.12-flink-1.13 以降でのみサポートされます。
注意事項
テンプレートに `INSERT INTO` 文が含まれていない場合、ジョブをデプロイできません。
サポートされるテンプレート
以下の表は、Fully managed Flink でサポートされるテンプレートとその利用シーンを示しています。最新の情報については、コンソールをご参照ください。
|
カテゴリ |
テンプレート名 |
利用シーン |
|
基本テンプレート |
Create Table |
テーブルを作成し、カタログに保存するには、データ定義言語 (DDL) 文を使用します。テーブルに対する操作は、データベースに対する操作と同様です。 |
|
Create Temporary Table |
テーブルを現在のセッションまたは SQL スクリプト内でのみ使用する場合、一時テーブルを使用します。 |
|
|
Create Temporary View |
Flink SQL におけるコードの再利用、長時間実行されるクエリの整理、または開発の簡素化を行うには、一時ビューを使用します。 |
|
|
INSERT INTO |
クエリ結果を外部ストレージシステム上のテーブルに書き込むには、`INSERT INTO` 構文を使用します。これにより、後続アプリケーションで結果を利用できます。 |
|
|
STATEMENT SET |
クエリ結果を 2 つ以上の後続外部システムに書き込むには、`STATEMENT SET` 構文を使用します。 |
|
|
Watermark |
Flink が不規則な順序で到着するデータを正しく処理できるようにするには、ウォーターマークを使用します。ウォーターマークは、テーブルの DDL 文内で定義できます。具体的には、既存のフィールドに対してウォーターマーク生成式を作成し、そのフィールドを時刻属性としてマークします。詳細については、「イベント時刻とウォーターマーク」をご参照ください。 |
|
|
集約および分析 |
GROUP BY |
リアルタイムでデータを集約・分析するには、`GROUP BY` 句を使用します。 |
|
Tumbling window aggregation |
時系列データをグループ化し、各グループ内のデータに対して集約・分析を行うには、タンブリング ウィンドウを使用します。 |
|
|
Sliding window aggregation |
指定された間隔でウィンドウ内のデータを更新するには、スライドウィンドウを使用します。 |
|
|
Cumulative window aggregation |
計算結果を早期に確認できるようにするには、累積ウィンドウ(Cumulative window)を使用します。たとえば、毎分最新のウィンドウ結果を表示できます。 説明
累積ウィンドウ集約は、変更データキャプチャ(CDC)をサポートしていません。CDC を使用した状態でこの集約を実行すると、構文検証エラーが発生します: |
|
|
Session window aggregation |
アクティブなセッション中にユーザーのデータに関するリアルタイム統計情報を収集するには、セッションウィンドウを使用します。 |
|
|
Over window aggregation |
ウィンドウ内の各要素に対して統計分析を行うには、OVER ウィンドウを使用します。 |
|
|
Cascading window aggregation |
同一のストリームから、1 分、5 分、30 分、1 時間など異なる時間軸にわたって同時にデータを集約するには、カスケードウィンドウを使用します。 |
|
|
Deduplication template |
Deduplication |
データストリームから重複データを削除するには、重複排除構文を使用します。 |
|
Top-N テンプレート |
Top-N |
ビジネス要件に基づいて上位または下位 N 件のレコードを算出するには、Top-N 構文を使用します。 |
|
Window Top-N |
特定の時間範囲内で上位または下位 N 件のレコードを算出するには、ウィンドウ Top-N 構文を使用します。 |
|
|
CEP テンプレート |
パターン検出(CEP) |
データストリーム内で一連のイベントパターンを検索するには、`MATCH_RECOGNIZE` 構文を使用します。 |
|
結合(Join)テンプレート |
Regular Join |
他のデータストリームと結合してデータを照会・計算するには、通常の結合(Regular Join)を使用します。 |
|
Interval Join |
指定された時間範囲内でテーブルのデータと結合するには、インターバル結合(Interval Join)を使用します。 |
|
|
Temporal table join |
ストリーム内の各レコードを、別のテーブル内の対応するバージョン管理済みデータと結合するには、時系列テーブル結合(Temporal table join)を使用します。 |
|
|
Dimension table join |
静的なディメンションテーブルとデータを結合するには、ディメンションテーブル結合(Dimension table join)を使用します。 |
操作手順
本セクションでは、Create Table テンプレートを例として、コードテンプレートの使用方法を説明します。
-
まず、リアルタイムコンピューティングコンソールにログインします。
-
対象のワークスペースの [操作] 列で、[コンソール] をクリックします。
-
「」ページで、[新規作成] をクリックします。
-
[SQL 基本テンプレート] タブで、目的のテンプレートをダブルクリックします。または、テンプレートを選択して、右下の隅にある [次へ] をクリックすることもできます。

-
必要に応じて、[ファイル名]、[ストレージの場所]、[エンジンバージョン]、および SQL コードを変更できます。

-
[作成] をクリックします。
その後の手順は、標準的なジョブ開発と同様です。詳細については、「ジョブ開発マップ」をご参照ください。