フルマネージド Flink は、充実したコードテンプレートライブラリを提供します。各テンプレートには、特定のユースケース、コード例、手順が含まれており、すぐに使い始めるのに役立ちます。これらのテンプレートを使用すると、Flink の機能と構文をすばやく学習し、独自のビジネスロジックを実装できます。このトピックでは、これらのコードテンプレートのユースケースと使用方法について説明します。
制限事項
コードテンプレートを使用するには、Realtime Compute for Apache Flink のエンジンバージョンが vvr-4.0.12-flink-1.13 以降である必要があります。
注意事項
テンプレートに INSERT INTO ステートメントが含まれていない場合、作成されるジョブをデプロイできません。
サポートされているテンプレート
次の表では、フルマネージド Flink が提供するテンプレートと、そのユースケースについて説明します。最新情報については、コンソールをご確認ください。
|
カテゴリ |
テンプレート名 |
ユースケース |
|
基本テンプレート |
Create Table |
DDL ステートメントを使用してテーブルを作成し、カタログに保存します。 |
|
Create Temporary Table |
現在のセッションまたは SQL スクリプト内でのみテーブルが必要な場合は、一時テーブルを使用します。 |
|
|
Create Temporary View |
コードを再利用したり、長いクエリや SQL スクリプトを整理したりして Flink SQL 開発を簡素化するには、一時ビューを使用します。 |
|
|
INSERT INTO |
クエリ結果をダウンストリームアプリケーション向けに外部ストレージシステムのテーブルへ書き込むには、INSERT INTO 構文を使用します。 |
|
|
STATEMENT SET |
クエリ結果を 2 つ以上のダウンストリームシステムに送信するには、STATEMENT SET 構文を使用します。 |
|
|
ウォーターマーク |
ウォーターマークを使用すると、Flink が順序が乱れたデータを正しく処理できるようになります。既存フィールドに対して生成式を適用し、そのフィールドをイベント時間属性としてマークすることで、テーブルの DDL にウォーターマークを定義します。詳細については、「Event time and watermarks」をご参照ください。 |
|
|
集計と分析 |
GROUP BY |
リアルタイムの集計と分析を実行するには、GROUP BY ステートメントを使用します。 |
|
タンブリングウィンドウ集計 |
時系列データをグループ化し、各グループ内で集計を実行するには、タンブリングウィンドウを使用します。 |
|
|
スライディングウィンドウ集計 |
一定間隔でウィンドウ内のデータを更新するには、スライディングウィンドウを使用します。 |
|
|
累積ウィンドウ集計 |
1 分ごとに最新のウィンドウ結果を確認するなど、ウィンドウ結果を早期に確認するには、累積ウィンドウを使用します。 説明
CDC で累積ウィンドウを使用すると、構文検証エラーが発生します: |
|
|
セッションウィンドウ集計 |
アクティブなセッション中にユーザーが生成したデータをリアルタイムで分析するには、セッションウィンドウを使用します。 |
|
|
Over ウィンドウ集計 |
ウィンドウ内の各要素に対して統計分析を実行するには、Over ウィンドウを使用します。 |
|
|
カスケードウィンドウ集計 |
1 分、5 分、30 分、1 時間など、異なる時間ディメンションにわたって同一ストリームのデータを集計するには、カスケードウィンドウを使用します。 |
|
|
重複排除テンプレート |
重複排除 |
データストリームから重複レコードを削除するには、重複排除構文を使用します。 |
|
Top-N テンプレート |
Top-N |
ビジネス要件に基づいて上位または下位 N 件のレコードを見つけるには、Top-N 構文を使用します。 |
|
ウィンドウ Top-N |
特定の期間内で上位または下位 N 件のレコードを見つけるには、ウィンドウ Top-N 構文を使用します。 |
|
|
CEP テンプレート |
複合イベント処理 (CEP) |
データストリーム内のイベントパターンのシーケンスを検索するには、 |
|
結合テンプレート |
通常結合 |
ストリームを他のストリームのデータと結合して拡張するには、通常結合を使用します。 |
|
区間結合 |
指定した時間間隔内に収まる 2 つのストリームのレコードを結合するには、区間結合を使用します。 |
|
|
テンポラル結合 |
データストリームの各レコードを、テンポラルテーブル内の対応するバージョン付きデータと結合するには、テンポラル結合を使用します。 |
|
|
ルックアップ結合 |
データストリームを静的なディメンションテーブルと結合するには、ルックアップ結合を使用します。 |
手順
このトピックでは、コードテンプレートの使用方法を示すために、[Create Table] テンプレートを使用します。
-
対象のワークスペースの[アクション]列にある[コンソール]をクリックします。
-
ページで、[新規作成] をクリックします。
-
[SQL 基本テンプレート] タブで、目的のテンプレート名をダブルクリックするか、目的のテンプレートを選択して右下隅の [次へ] をクリックします。
使用可能な SQL Basic Template には、Blank Streaming Job Draft、Blank Batch Job Draft (BETA)、Create Table、Create Temporary Table、Create Temporary View、INSERT INTO が含まれます。
-
必要に応じて、[名前]、[ロケーション]、[エンジンバージョン]、SQL コードを変更します。
たとえば、[Engine Version] で
vvr-6.0.6-flink-1.15を選択し、SQL エディターにCREATE TABLE orders (order_uid BIGINT, product_id BIGINT, price DECIMAL(32,2), order_time TIMESTAMP(3)) WITH ('connector' = 'datagen')ステートメントを入力してから、[Create] をクリックします。 -
[作成] をクリックします。
以降の操作は、標準のジョブ開発プロセスと同じです。詳細については、「Job Development Map」をご参照ください。