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

:ワークフローの作成

最終更新日:Jan 11, 2025

このトピックでは、ワークフローの作成、ワークフローでのノードの作成、およびノードの依存関係の設定方法について説明します。ワークフローを作成した後、DataStudioサービスを使用して、ワークスペースでデータ分析と計算を実行できます。

前提条件

ビジネスデータを格納するための bank_data テーブルと結果を格納するための result_table テーブルがワークスペースに作成されています。データは bank_data テーブルにインポートされます。詳細については、「テーブルの作成とデータのアップロード」をご参照ください。

背景情報

DataWorks の DataStudio サービスでは、ワークフロー内のノード間を線でドラッグすることで、ノードの依存関係を設定できます。ワークフローに基づいてデータを処理し、ノードの依存関係を設定できます。ワークスペースには複数のワークフローを作成できます。詳細については、「ワークフローの作成」をご参照ください。

ワークフローの作成

  1. DataWorksコンソール にログオンします。上部のナビゲーションバーで、目的のリージョンを選択します。左側のナビゲーションペインで、[データ開発とガバナンス] > [データ開発] を選択します。表示されるページで、ドロップダウンリストから目的のワークスペースを選択し、[データ開発に移動] をクリックします。

  2. [datastudio] ページで、Create アイコンにポインターを移動し、[ワークフローの作成] を選択します。

  3. [ワークフローの作成] ダイアログボックスで、[ワークフロー名][説明] を設定します。

  4. [作成] をクリックします。

ノードの作成とノードの依存関係の設定

ワークフローで、start という名前のゼロロードノードと insert_data という名前の ODPS SQLノードを作成し、insert_data ノードが start ノードに依存するように設定します。

重要
  • ゼロロードノードは、ワークフロー内の後続ノードを維持および制御するために使用される制御ノードです。ゼロロードノードはデータを生成しません。

  • 他のノードがゼロロードノードに依存し、ゼロロードノードのステータスが O&M担当者によって「失敗」に設定されている場合、保留中の後続ノードは実行できません。O&Mプロセス中に、ゼロロードノードを無効にして、祖先ノードの誤ったデータが後続ノードによって取得されないようにすることができます。

  • ほとんどの場合、ワークスペースのルートノードは、ワークフロー内のゼロロードノードの祖先ノードとして使用されます。ワークスペースのルートノードには、Workspace name_root 形式の名前が付けられます。

  • DataWorks は、ノードの出力名を自動的に作成します。名前は ワークスペース名.ノード名 形式です。ワークスペースに同じ名前のノードが 2 つある場合は、2 つのノードのいずれかの名前を変更します。

ワークフローを設計する場合は、ワークフローのルートノードとしてゼロロードノードを作成して、ワークフロー全体を制御することをお勧めします。ワークフローを設計するには、次の手順を実行します。

  1. [スケジュールされたワークフロー] ペインの左側で、[ビジネスフロー] セクションで作成したワークフローを見つけ、ワークフロー名をダブルクリックします。表示される設定タブで、[全般][ > ][ゼロロードノード] を選択します。

    [ゼロロードノード] を右側のキャンバスにドラッグして、[ノードの作成] ダイアログボックスに移動することもできます。

    Create and use a zero load node

  2. [ノードの作成] ダイアログボックスで、[パス] パラメーターを設定し、[名前] パラメーターを start に設定します。次に、[確認] をクリックします。

  3. 同じ方法を使用して、[ODPS SQL] ノードを insert_data という名前で作成します。

  4. start ノードから insert_data ノードに線をドラッグして、start ノードを insert_data ノードの祖先ノードとして設定します。

    Configure node dependencies

ゼロロードノードの祖先ノードの設定

ワークフローでは、ゼロロードノードはワークフロー全体を制御するために使用され、ワークフロー内のすべてのノードの祖先ノードとして機能します。

ほとんどの場合、ゼロロードノードは [ワークスペースのルートノード] に依存します。

  1. ゼロロードノードの名前をダブルクリックして、ノード設定タブに移動します。

  2. 右側のナビゲーションペインで、[プロパティ] をクリックします。

  3. [プロパティ] タブの [依存関係] セクションで、[ルートノードの追加] をクリックして、ワークスペースのルートノードをゼロロードノードの祖先ノードとして設定します。

    image.png

  4. ノードを保存してコミットします。

    重要

    ノードをコミットする前に、[プロパティ] タブで [再実行] パラメーターと [親ノード] パラメーターを設定する必要があります。

    1. 上部のツールバーの Save アイコンをクリックして、ノードを保存します。

    2. ツールバーの Submit アイコンをクリックして、ノードをコミットします。

    3. [ノードのコミット] ダイアログボックスで、[変更の説明] フィールドにコメントを入力します。

    4. [決定] をクリックします。

ODPS SQL ノードの編集と実行

このセクションでは、ODPS SQL ノード insert_data で SQL コードを使用して、さまざまな教育レベルを持ち、住宅ローンを持っているシングルの数をクエリし、クエリ結果を保存する方法について説明します。クエリ結果は、後続ノードがデータの分析または提示を続行するために使用できます。

  1. ODPS SQL ノードの設定タブに移動し、次のコードを入力します。

    構文の詳細については、「MaxCompute SQL の概要」をご参照ください。

    INSERT OVERWRITE TABLE result_table  -- result_table テーブルにデータを挿入します。
    SELECT education
        , COUNT(marital) AS num
    FROM bank_data
    WHERE housing = 'yes'
        AND marital = 'single'
    GROUP BY education;
  2. コード内の bank_data を右クリックし、[入力の削除] を選択します。

    bank_data テーブルは、自動トリガーノードによって生成されません。テーブルの作成方法とテーブルへのデータのインポート方法の詳細については、「テーブルの作成とデータのアップロード」をご参照ください。ノードのコードの SELECT ステートメントで、自動トリガーノードによって生成されていないテーブルが指定されている場合は、管理するテーブルの名前を右クリックし、[入力の削除] をクリックします。コードの先頭にルールのコメントを追加することもできます。このようにして、システムはルールに基づいて依存関係を自動的に解析しません。Delete Input

    説明

    スケジューリングの依存関係により、ノードは、実行するようにスケジュールされている祖先ノードによって生成されたテーブルデータを取得できます。ただし、ノードの祖先ノードが実行するようにスケジュールされていない場合、システムは祖先ノードによる最新のテーブルデータの生成を監視できません。ノードが SELECT ステートメントを使用して、自動トリガーノードによって生成されていないテーブルのデータをクエリする場合、SELECT ステートメントによって自動的に生成されるノードの依存関係を手動で削除する必要があります。

  3. 上部のツールバーの Save アイコンをクリックします。これにより、コードの損失を防ぎます。

  4. 上部のツールバーの Run アイコンをクリックします。

    ノードが実行された後、タブの下部で実行ログと結果を表示できます。

ワークフローのコミット

  1. ODPS SQL ノード insert_data を実行してデバッグした後、ワークフローの設定タブに戻ります。

  2. 上部のツールバーの Submit アイコンをクリックします。

  3. [コミット] ダイアログボックスで、コミットするノードを選択し、[変更の説明] フィールドにコメントを入力し、[強制的に変更] の値を選択し、[I/Oの不整合アラートを無視] を選択します。

  4. [コミット] をクリックします。

    ワークフローがコミットされた後、[ワークフロー] のノードリストからノードステータスを表示できます。ノード名の左側に image.png アイコンが表示されていない場合、ノードはコミットされています。image.png アイコンが表示されている場合、ノードはコミットされていません。

次のステップ

ワークフローの作成とコミット方法を学習しました。次のチュートリアルに進むことができます。データ同期ノードを作成して、異なるタイプのデータソース間でデータを同期できます。詳細については、「同期タスクの作成」をご参照ください。