すべてのプロダクト
Search
ドキュメントセンター

DataWorks:コンポーネント管理

最終更新日:Nov 09, 2025

コンポーネントは、SQL プロセスを再利用可能な SQL テンプレートに抽象化するために使用されます。コンポーネントを使用する前に、ビジネス要件を満たすコンポーネントを作成する必要があります。このトピックでは、DataStudio のコンポーネント管理インターフェイスでコンポーネントを作成する方法について説明します。このトピックでは、コンポーネントの共有、アップグレード、参照レコードの表示などの管理操作を実行する方法についても説明します。

コンポーネントの概要

多くの MaxCompute ビジネスプラクティスには、類似した SQL コードプロセスが存在します。これらのプロセスの入力テーブルと出力テーブルは、多くの場合、同じスキーマまたは互換性のあるデータ型を持ちますが、テーブル名は異なります。このシナリオでは、コンポーネント開発者は SQL プロセスを SQL スクリプトテンプレートノードに抽象化できます。可変の入力テーブルと出力テーブルをパラメーターとして定義することにより、開発者は SQL コードを再利用できます。

SQL スクリプトテンプレートノードを使用する場合、ビジネスプロセスに一致するコンポーネントリストからコンポーネントを選択し、その入力テーブルと出力テーブルを構成するだけで済みます。これにより、コードを編集することなく、新しい SQL スクリプトテンプレートノードを直接生成できます。このメソッドは、開発効率を大幅に向上させ、冗長な作業を防ぎます。生成された SQL スクリプトテンプレートノードを公開およびスケジューリングする手順は、標準の SQL ノードの手順と同じです。

説明

現在、MaxCompute コンピュートエンジンのみが SQL スクリプトテンプレートをサポートしています。

権限

コンポーネントを作成して使用するには、DataWorks ワークスペースで [開発者] 権限が必要です。詳細については、「ワークスペースレベルのモジュールに対する権限の管理」をご参照ください。

コンポーネントのタイプ

コンポーネントは、ワークスペース固有スクリプトテンプレートと公開スクリプトテンプレートに分類されます。コンポーネントを作成するユーザーであるコンポーネント開発者は、コンポーネントの作成時にタイプを定義できます。

  • ワークスペース固有スクリプトテンプレート管理: デフォルトでは、コンポーネントが公開された後、DataWorks ワークスペースのメンバーのみがそれを使用できます。詳細については、「ワークスペースレベルのモジュールに対する権限の管理」をご参照ください。

  • 公開スクリプトテンプレート管理: コンポーネント開発者は、[公開コンポーネント管理エリア] に移動して、グローバルに汎用的なコンポーネントをテナント全体に公開できます。コンポーネントが公開されると、テナント内のすべてのユーザーがそれを使用できます。

コンポーネント管理への移動

  1. DataWorks コンソールの ワークスペースページに移動します。上部のナビゲーションバーで、目的のリージョンを選択します。目的のワークスペースを見つけ、[アクション] 列で [ショートカット] > [Data Studio] を選択します。

  2. 左側のナビゲーションウィンドウで、image をクリックしてコンポーネント管理を開きます。

コンポーネントの使用手順

ステップ 1: コンポーネントの定義

コンポーネント開発者は、DataStudio の [コンポーネント管理] インターフェイスに移動して、プロセス本文のコードと共通ロジックの入力および出力パラメーターを定義できます。入力パラメーターを使用して指定された入力テーブルを処理し、出力パラメーターである価値のある出力テーブルを生成する抽象的な SQL 処理プロシージャを記述できます。コード内の入力および出力パラメーターのフォーマットは @@{パラメーター名} です。

  1. ワークスペース固有スクリプトテンプレート管理エリアで、image をクリックし、[SQL コンポーネントの作成] を選択します。または、[フォルダの作成] を選択してコンポーネントを整理し、フォルダを右クリックして [SQL コンポーネントの作成] を選択することもできます。

    説明
    • このワークスペースのメンバーによって作成されたコンポーネントは、[プロジェクトコンポーネント管理] で管理されます。

    • コンポーネントが公開されると、[公開スクリプトテンプレート管理] の下に表示されます。

  2. コンポーネント情報を構成します。

    1. コンポーネントプロセス本文を構成します。

      プロセス本文には、コンポーネントの実装コードが含まれています。抽象的な SQL コード (SQL 処理プロシージャ) を記述し、@@{パラメーター名} フォーマットを使用して入力および出力パラメーターを導入できます。これにより、入力パラメーターを使用して指定された入力テーブルを処理し、ビジネス価値のある出力テーブルを生成できます。コンポーネントを使用するときは、異なる入力パラメーターと出力パラメーターを構成するだけで、テンプレートから正しく実行可能な SQL コードを生成できます。

    2. 入力パラメーターを構成します。

      コンポーネント編集ページの右側のペインで、[パラメーター設定] をクリックします。プロセスの本文の入力パラメーターを定義するには、[入力パラメーター] の右側にある image アイコンをクリックします。パラメーターは [テーブル] または [文字列] タイプに設定できます。

      説明

      コンポーネント編集ページの上部にある [入力パラメーターと出力パラメーターの解析] をクリックして、自動解析機能を使用することもできます。この機能は、コードから入力パラメーターと出力パラメーターを自動的に識別します。その後、次の表に基づいてパラメーターを構成できます。

      テーブル

      シナリオ

      コンポーネントを使用してソーステーブルデータを処理するときに、出力結果が単一の定数カテゴリに分類される場合は、このタイプを使用します。

      パラメーターと説明

      • キーパラメーター: [パラメーター定義]

      • 説明: このパラメーターは、入力テーブルのスキーマをテキスト形式でレンダリングするために使用されます。スキーマには、テーブルのフィールド、フィールドタイプ、およびフィールドの説明を含めることができます。これにより、コンポーネントユーザーは、定義された入力テーブルスキーマと同じ数のパラメーターと互換性のあるタイプを持つ入力テーブルを構成する必要があることを知ることができます。これは、構成された入力テーブルとコンポーネントによって定義された入力テーブルとの間のフィールド数の不一致または互換性のないフィールドタイプによって引き起こされる実行時エラーを防ぐのに役立ちます。

        説明

        この定義は参照用であり、出力パラメーターを構成するための役立つヒントを提供します。即時の強制チェックをトリガーするものではありません。

      • :

        次のフォーマットでパラメーターを定義することをお勧めします:

        フィールド 1 名 フィールド 1 タイプ フィールド 1 コメント 
        フィールド 2 名 フィールド 2 タイプ フィールド 2 コメント 
        ...
        フィールド n 名 フィールド n タイプ フィールド n コメント

        例:

        area_id STRING 'エリア ID' 
        city_id STRING '都市 ID' 
        order_amt DOUBLE '注文額' 

      文字列

      シナリオ

      コンポーネントがソーステーブルデータを処理するときに、変数を伴う入力パラメーターの値を制御するには、このタイプを使用します。

      パラメーターと説明

      • キーパラメーター: [デフォルト値]

      • 説明: このタイプでは、パラメーターのデフォルト値を設定できます。デフォルト値が設定されると、コンポーネントが使用されるときにデフォルトで使用されます。

      • :

        • シナリオ 1: コンポーネントプロセスの出力テーブルには、各リージョンの上位 N 都市の売上を表示する必要があります。N をコンポーネントの入力パラメーターとして設定できます。N の値は、文字列タイプのパラメーターで制御できます。

        • シナリオ 2: コンポーネントプロセスの出力テーブルには、ある省の総売上を表示する必要があります。省の文字列をコンポーネントの入力パラメーターとして設定できます。異なる省を指定することで、対応する省の売上データを取得できます。

    3. 出力パラメーターを構成します。

      プロセス本文の出力パラメーターを定義します。これはコンポーネントの最終的な出力テーブルです。コンポーネントユーザーが使いやすいように、参照用に出力パラメーター構成で出力テーブルのテーブルスキーマを指定できます。

      コンポーネント編集ページの右側のペインで、[パラメーター設定] をクリックします。[出力パラメーター] の右側にある image アイコンをクリックして、プロセス本文の出力パラメーターを定義します。

      説明

      コンポーネント編集ページの上部にある [入力パラメーターと出力パラメーターの解析] をクリックして、自動解析機能を使用することもできます。この機能は、コードから入力パラメーターと出力パラメーターを自動的に識別します。その後、次の表に基づいてパラメーターを構成できます。

      • キーパラメーター: パラメーター定義。

      • 説明: このパラメーターは、出力テーブルのスキーマをテキスト形式でレンダリングするために使用されます。スキーマには、テーブルのフィールド、フィールドタイプ、およびフィールドの説明を含めることができます。これにより、コンポーネントユーザーは、定義された出力テーブルスキーマと同じ数のパラメーターと互換性のあるタイプを持つ出力テーブルを構成する必要があることを知ることができます。これは、構成された出力テーブルとコンポーネントによって定義された出力テーブルとの間のフィールド数の不一致または互換性のないフィールドタイプによって引き起こされる実行時エラーを防ぐのに役立ちます。

        説明

        この定義は参照用であり、出力パラメーターを構成するための役立つヒントを提供します。即時の強制チェックをトリガーするものではありません。

      • :

        次のフォーマットでパラメーターを定義することをお勧めします:

        フィールド 1 名 フィールド 1 タイプ フィールド 1 コメント 
        フィールド 2 名 フィールド 2 タイプ フィールド 2 コメント 
        ...
        フィールド n 名 フィールド n タイプ フィールド n コメント

        さらに、目的の処理結果に基づいて、要約された出力結果のフィールドを出力パラメーター定義に追加できます。たとえば、ランキングと総収益のフィールドを追加できます。例:

        area_id STRING 'エリア ID' 
        city_id STRING '都市 ID' 
        order_amt DOUBLE '注文額'
        rank BIGINT 'ランキング'
  3. [保存][送信] をクリックします。

    コンポーネントが作成された後、SQL スクリプトテンプレートノードでそれを参照して、ビジネスに必要な宛先テーブルを迅速に生成できます。詳細については、「ステップ 2: コンポーネントの参照」をご参照ください。

  4. (オプション) [コンポーネントを公開] をクリックして、グローバルに汎用的なコンポーネントをテナント全体に公開できます。コンポーネントは [公開コンポーネント管理エリア] に表示されます。コンポーネントが公開されると、テナント内のすべてのユーザーがそれを使用できます。

ステップ 2: コンポーネントの参照

次の方法でコンポーネントを参照できます。

Data Development の SQL スクリプトテンプレートノードでの参照

コンポーネントユーザーは [Data Development] インターフェイスに移動し、SQL スクリプトテンプレートノードを作成して必要なコンポーネントを参照し、コンポーネント内の入力および出力パラメーターを置き換えてコードを再利用できます。

  1. DataStudio の左側のナビゲーションウィンドウで、image をクリックして Data Development を開きます。

  2. [ビジネスフロー] ペインで、ビジネスニーズに基づいて新しい SQL スクリプトテンプレートノードの場所を決定します。次に、フォルダを右クリックするか image をクリックし、[ノードの作成] > [MaxCompute] > [SQL スクリプトテンプレート] を選択し、SQL スクリプトテンプレートノードのカスタム名を入力します。

  3. SQL スクリプトテンプレートノードの編集ページで、右側のペインの [コンポーネント設定] をクリックし、次に [コンポーネントコードの選択] をクリックします。

  4. コンポーネントコードを選択すると、SQL コンポーネント編集ページにコードが自動的に入力されます。各パラメーターの値は [コンポーネント設定] で定義できます。

プロジェクトコンポーネント管理からの参照

コンポーネントユーザーは [コンポーネント管理] インターフェイスに移動し、参照するコンポーネントを見つけて、コンポーネントを直接参照して SQL スクリプトテンプレートノードを作成できます。これにより、コンポーネント内の入力および出力パラメーターを置き換えてコードを再利用できます。

  1. DataStudio の左側のナビゲーションウィンドウで、image をクリックしてコンポーネント管理を開きます。

  2. [ワークスペース固有スクリプトテンプレート管理] で、宛先コンポーネントを見つけ、コンポーネントを右クリックして [コンポーネントの参照] を選択します。

  3. 画面の指示に従って、SQL スクリプトテンプレートノードを作成する場所を選択し、SQL コンポーネントの名前を指定します。

  4. ノードが作成されると、コンポーネントコードが SQL コンポーネント編集ページに自動的に入力されます。[コンポーネント設定] で各パラメーターの値を定義できます。

公開スクリプトテンプレート管理からの参照

コンポーネントユーザーは [コンポーネント管理] インターフェイスに移動し、任意のテナントから公開コンポーネントを見つけて、それを直接参照して SQL スクリプトテンプレートノードを作成できます。これにより、コンポーネント内の入力および出力パラメーターを置き換えてコードを再利用できます。

  1. DataStudio の左側のナビゲーションウィンドウで、image をクリックしてコンポーネント管理を開きます。

  2. [公開スクリプトテンプレート管理] で、宛先コンポーネントを見つけて [参照] をクリックします。

  3. 画面の指示に従って、SQL スクリプトテンプレートノードを作成する場所を選択し、SQL コンポーネントの名前を指定します。

  4. ノードが作成されると、コンポーネントコードが SQL コンポーネント編集ページに自動的に入力されます。[コンポーネント設定] で各パラメーターの値を定義できます。

コンポーネントのアップグレード

アップグレード操作: コンポーネント開発者

コンポーネント開発者は、必要に応じてコンポーネントコードと関連するパラメーター構成を編集できます。編集が完了したら、コンポーネントを保存して送信し、新しいバージョンにアップグレードします。各コンポーネントバージョンの詳細は、[バージョン] タブで表示できます。

参照コンポーネントバージョンのアップグレード: コンポーネントユーザー

コンポーネントがアップグレードされた後、SQL スクリプトテンプレートノードがそのコンポーネントを参照している場合、最新バージョンを使用するかどうかを選択できます。

  • 最新バージョンが必要ない場合は、元のバージョンを引き続き参照できます。

  • 最新バージョンを使用する場合は、新しいバージョンのパラメーター構成が SQL スクリプトテンプレートノードでまだ有効かどうかを確認する必要があります。新しいコンポーネントバージョンの説明に基づいて調整を行います。編集が完了したら、ノードを送信して公開します。送信と公開のプロセスは、標準の SQL ノードの場合と同じです。

アップグレードシナリオの例

コンポーネント開発者が V1 SQL コンポーネントを作成し、コンポーネントユーザーがそれを使用します。その後、開発者はコンポーネントを V2 にアップグレードします。コンポーネントユーザーは、バージョン V2 が利用可能であることを確認します。ユーザーはコンポーネントを開き、異なるバージョンの詳細を表示し、新しいバージョンがより良いビジネス結果を提供すると判断します。その後、ユーザーはコンポーネントを最新バージョンに更新します。

コンポーネント参照レコードの表示

コンポーネント編集ページの右側のペインで [参照レコード] をクリックすると、現在のコンポーネントを参照しているノードを表示できます。これにより、変更の影響を事前に見積もることができます。

その他の操作

コンポーネントのクローン

クローン機能を使用して、既存のコンポーネントを迅速にクローンして新しいコンポーネントを作成できます。クローンされるコンテンツには、コンポーネントコードパラメーター設定、およびデバッグ構成スクリプトパラメーターが含まれます。

  1. 左側の [ワークスペース固有スクリプトテンプレート管理] ペインで、クローンするコンポーネントの名前を右クリックし、ポップアップメニューから [クローン] を選択します。

  2. 表示されるダイアログボックスで、コンポーネントの [名前][パス] を変更するか、デフォルト値を維持し、[OK] をクリックしてクローンを開始します。

  3. クローンが完了すると、[ワークスペース固有スクリプトテンプレート管理] で新しく生成されたコンポーネントを表示できます。

バージョン管理

システムは、バージョン管理機能を使用して、コンポーネントを指定された履歴バージョンに復元することをサポートしています。また、バージョンの表示と比較機能も提供しており、違いを分析して調整を容易に行うことができます。

  1. 左側の [ワンタイムタスク] セクションで、コンポーネントの名前をダブルクリックして編集ページを開くことができます。

  2. コンポーネント編集ページの右側のペインで [バージョン] をクリックします。[バージョン] ページでは、[開発レコード][公開レコード] の情報を表示および管理できます。

    • [バージョン] の表示:

      1. [開発レコード] または [公開レコード] タブで、表示したいコンポーネントのバージョンを見つけます。

      2. [アクション] 列の [表示] をクリックして詳細ページを開き、コンポーネントコードとスケジューリング構成情報を表示します。

    • [バージョン] の比較:

      [開発レコード] または [公開レコード] タブで、コンポーネントの異なるバージョンを比較できます。次のセクションでは、開発レコードを例として比較操作を説明します。

      • 同じ環境でのバージョンの比較: [開発レコード] タブで、2 つのバージョンを選択し、上にある [比較] ボタンをクリックして、異なるバージョンのコンポーネントコードとスケジューリング構成情報を比較します。

      • 環境間でのバージョンの比較:

        1. [開発レコード] タブで、コンポーネントのバージョンを見つけます。

        2. [アクション] 列の [比較] ボタンをクリックします。詳細ページで、[公開レコード] から比較するバージョンを選択します。

    • [バージョンの復元]:

      [開発レコード] 内のコンポーネントのみを指定された履歴バージョンに復元できます。[開発レコード] タブで、宛先バージョンを見つけ、[アクション] 列の [復元] ボタンをクリックして、コンポーネントを宛先バージョンに復元します。