スクリプトテンプレートは、複数の入力パラメーターと出力パラメーターを含む SQL コードプロセスを定義します。 1 つ以上のソーステーブルを SQL コードプロセスに導入し、SQL コードプロセスを使用してソーステーブルデータをフィルタリングし、ソーステーブルを結合し、データを集計して、ビジネスに必要な出力テーブルを生成できます。 このトピックでは、スクリプトテンプレートの概要と、スクリプトテンプレートの定義と使用方法について説明します。
スクリプトテンプレートの 概要
はじめに
実際のビジネス シナリオでは、多数の SQL コード プロセスが類似しています。これらのプロセスの入力テーブルまたは出力テーブルは、同じスキーマまたは互換性のあるデータ型を持つ場合がありますが、テーブル名は異なります。この場合、開発者は SQL コード プロセスに基づいてスクリプト テンプレートを作成して、SQL コードを再利用できます。スクリプト テンプレートは、入力テーブルから入力パラメーターを、出力テーブルから出力パラメーターを抽出します。
SQL スニペット ノードを作成する場合、ビジネス プロセスに基づいてスクリプト テンプレート リストから既存のスクリプト テンプレートを選択し、選択したスクリプト テンプレートのビジネスの入力テーブルと出力テーブルに特定のパラメーターを設定するだけで済みます。この方法では、コードを繰り返し編集する必要はありません。これは、開発中の反復的な操作を防ぎ、開発効率を向上させるのに役立ちます。作成された SQL スニペット ノードは、他の SQL ノードをデプロイおよび実行するのと同じ方法でデプロイおよび実行できます。
権限
スクリプトテンプレートを作成して使用するには、[開発] ロールが割り当てられている必要があります。ロールを割り当てる方法については、「ワークスペースレベルのサービスに対する権限を管理する」トピックのRAM ユーザーをワークスペースにメンバーとして追加し、メンバーにロールを割り当てる」セクションをご参照ください。
制限
SQL スニペットノードは、DataWorks Standard Edition 以降のエディションでのみサポートされています。詳細については、「DataWorks エディション間の違い」をご参照ください。
現在のワークスペースのメンバーアカウントで作成されたスクリプトテンプレートは、[ワークスペース固有] タブで使用できます。
テナント内で作成されたスクリプトテンプレートは、[パブリック] タブで使用できます。
スクリプトテンプレートの種類
スクリプトテンプレートは、ワークスペースレベルとパブリックスクリプトテンプレートに分類されます。スクリプトテンプレートを作成するときに、スクリプトテンプレートの種類を指定できます。
ワークスペースレベルのスクリプトテンプレート: この種類のスクリプトテンプレートがデプロイされると、現在の DataWorks ワークスペースのメンバーのみがこの種類のスクリプトテンプレートを使用できます。この種類のスクリプトテンプレートを使用するには、現在の DataWorks ワークスペースのメンバーである必要があります。詳細については、「ワークスペースレベルのサービスに対する権限の管理」トピックのRAM ユーザーをワークスペースにメンバーとして追加し、メンバーにロールを割り当てる」セクションをご参照ください。
パブリックスクリプトテンプレート: この種類のスクリプトテンプレートの開発者は、[公開] タブに移動し、現在のテナント内で汎用スクリプトテンプレートを公開できます。これにより、現在のテナント内のすべてのユーザーがスクリプトテンプレートを使用できます。
スクリプトテンプレートを使用する
[スクリプトテンプレート] は、DataWorks で作成され、[SQL スニペットノード] と連携して動作する必要があります。
[スニペット] ペインで、開発者は SQL コードプロセスを抽象化し、入力パラメーターと出力パラメーターを定義できます。このようにして、SQL コードプロセスは入力パラメーターに基づいて特定の入力テーブルを処理し、出力パラメーターに基づいてビジネス価値のある出力テーブルを生成できます。入力パラメーターと出力パラメーターは、
@@{パラメーター名}
形式で設定されます。次のタイプの入力パラメーターがサポートされています。
テーブル: 出力結果が単一タイプの値の場合、このタイプの入力パラメーターを使用します。
文字列: 入力パラメーターの値が変数に基づいて制御される場合、このタイプの入力パラメーターを使用します。
出力パラメーターのタイプはテーブルである必要があります。
[datastudio] ページで、SQL スニペットノードを作成して目的のスクリプトテンプレートを参照し、スクリプトテンプレートの入力パラメーターと出力パラメーターを置き換えてコードを再利用できます。
スクリプトテンプレートを定義する
スニペットペインに移動する
[datastudio] ページに移動します。
DataWorks コンソール にログオンします。 上部のナビゲーションバーで、目的のリージョンを選択します。 左側のナビゲーションウィンドウで、 を選択します。 表示されたページで、ドロップダウンリストから目的のワークスペースを選択し、[データ開発に移動] をクリックします。
[DataStudio] ページの左側のナビゲーションウィンドウで、[スニペット] をクリックします。
説明[スニペット] モジュールが左側のナビゲーションウィンドウに表示されない場合は、左下隅にある
アイコンをクリックし、DataStudio モジュールセクションの設定 に記載されている手順に従ってモジュールを追加します。
スクリプトテンプレートを作成および構成する
このセクションでは、[スニペット] ペインでスクリプトテンプレートを作成する方法について説明します。 ほとんどの場合、スクリプトテンプレートは、入力パラメーター、出力パラメーター、および SQL コードプロセスで構成されます。 SQL コードプロセスは、スクリプトテンプレートの機能を実装するコードを定義します。 SQL コードプロセスでは、可変入力テーブルまたは入力文字列はスクリプトテンプレートの入力パラメーターとして抽象化され、可変出力テーブルはスクリプトテンプレートの出力パラメーターとして抽象化されます。 これにより、SQL コードを再利用できます。 入力パラメーターと出力パラメーターは、@@{変数名}
形式で構成されます。
スクリプトテンプレートには、複数の入力パラメーターと出力パラメーターを含めることができます。 ビジネス要件に基づいてパラメーターを構成できます。
ステップ 1:スクリプトテンプレートを作成する
[スニペット] ペインで、次の図に示すいずれかの方法を使用して、スクリプトテンプレートを作成し、名前を付けることができます。
現在のワークスペースのメンバーアカウントを使用して作成されたスクリプトテンプレートは、[ワークスペース固有] タブで使用できます。
テナント内で作成されたスクリプトテンプレートは、[パブリック] タブで使用できます。
ステップ 2:スクリプトテンプレートを構成する
ステップ 3:スクリプトテンプレートを保存してコミットする
スクリプトテンプレートの構成タブの上部ツールバーにある アイコンをクリックして、スクリプトテンプレートを保存します。 次に、
アイコンをクリックして、スクリプトテンプレートをコミットします。 スクリプトテンプレートが作成された後、SQL スニペットノードでスクリプトテンプレートを参照できます。 これは、ビジネスに必要なテーブルを生成するのに役立ちます。 詳細については、このトピックの「スクリプトテンプレートを参照する」セクションをご参照ください。
スクリプトテンプレートを参照する
前提条件
スクリプトテンプレートが作成されていること。詳細については、このトピックの「スクリプトテンプレートを定義する」セクションをご参照ください。
SQL スニペットノードが作成されていること。詳細については、「ODPS ノードの作成と管理」をご参照ください。
スクリプトテンプレートを参照する
SQL スニペットノードの構成タブで、次の図に示されている手順に従って、スクリプトテンプレートを参照します。
参照するスクリプトテンプレートを選択します。
使用可能なスクリプトテンプレートがない場合は、スクリプトテンプレートを作成します。詳細については、このトピックの「スクリプトテンプレートを定義する」セクションをご参照ください。
選択したスクリプトテンプレートに最新バージョンがある場合は、ビジネス要件に基づいて、スクリプトテンプレートの最新バージョンを参照するかどうかを決定します。スクリプトテンプレートの最新バージョンを参照するには、[コードの更新] をクリックします。
[スニペットの編集] をクリックして、スクリプトテンプレートの詳細を表示します。
ビジネス要件に基づいて、スクリプトテンプレートのパラメーターを構成します。
次の手順
作成したノードを使用してタスクの開発を完了したら、次の操作を実行できます。
スケジューリングプロパティの構成: ノードの定期的なスケジューリングのプロパティを構成できます。システムでノード上のタスクを定期的にスケジュールおよび実行する場合は、再実行設定やスケジューリングの依存関係など、ノードの項目を構成する必要があります。詳細については、「概要」をご参照ください。
ノードのデバッグ: ノードのコードをデバッグおよびテストして、コードロジックが期待どおりに動作するかどうかを確認できます。詳細については、「デバッグ手順」をご参照ください。
ノードのデプロイ: すべての開発操作が完了したら、ノードをデプロイできます。ノードがデプロイされると、システムはノードのスケジューリングプロパティに基づいてノードを定期的にスケジュールします。詳細については、「ノードのデプロイ」をご参照ください。
スクリプトテンプレートの管理
スクリプトテンプレートを共有し、スクリプトテンプレートの参照レコードを表示する
スクリプトテンプレートをアップグレードする
その他の参考資料
スクリプトテンプレートの構成タブの機能
ベスト プラクティス
前提条件
SQL スニペットノードが作成されていること。詳細については、「ODPS ノードを作成および管理する」をご参照ください。
ODPS SQL ノードに入力テーブルと出力テーブルが作成されていること。