DataWorks では、[ワークフロー] を使用して、ビジネス要件に基づいて DataStudio 内のノードを整理できます。DataWorks は、[自動トリガーワークフロー] と [手動トリガーワークフロー] の 2 種類のワークフローを提供します。自動トリガーワークフロー内のノードは定期的に実行するようにスケジュールされ、手動トリガーワークフロー内のノードは手動でトリガーされて実行されます。このトピックでは、ワークフローの作成、設計、コミット、表示、およびワークフロー内の複数のノードを一度に変更または削除する方法について説明します。
背景情報
ワークスペースは、MaxCompute、Hologres、E-MapReduce(EMR)など、さまざまな種類の計算エンジンをサポートし、複数のワークフローを含めることができます。ワークフローは、複数タイプのオブジェクトの集合です。オブジェクトは、Data Integration のノードと計算エンジンのノードにすることができます。たとえば、オブジェクトは、ODPS SQL ノード、または MaxCompute テーブルのスキーマを同期するために使用されるノードにすることができます。
各タイプのオブジェクトは、独立したフォルダーに対応しています。フォルダー内にサブフォルダーを作成できます。オブジェクトを効率的に管理するために、最大 4 レベルのサブフォルダーを作成することをお勧めします。4 レベルを超えるサブフォルダーを作成すると、ワークフローが過度に複雑になります。この場合、作業効率を向上させるために、ワークフローを 2 つ以上のワークフローに分割し、同じソリューションにワークフローを追加することをお勧めします。
自動トリガーワークフローと手動トリガーワークフロー
DataWorks は、[自動トリガーワークフロー] と [手動トリガーワークフロー] の 2 種類のワークフローを提供します。自動トリガーワークフロー内のノードは定期的に実行するようにスケジュールされ、手動トリガーワークフロー内のノードは手動でトリガーされて実行されます。2 種類のワークフローを使用して、DataStudio でノードを開発できます。ノードが開発された後、ノードをコミットし、本番環境の Operation Center にデプロイできます。次の表に、自動トリガーワークフローと手動トリガーワークフローの違いを示します。
項目 | 自動トリガーワークフロー | 手動トリガーワークフロー |
ユースケース | ワークフロー内のすべてのノードを定期的にスケジュールどおりに実行する場合。 | ワークフロー内のすべてのノードを手動でトリガーして実行する場合。 |
実行モード | ワークフローは、定期的にスケジュールどおりに実行されます。 | ワークフローは、手動でトリガーされて実行されます。 |
ノード開発の構成 | ワークフロー内のノードに対して、[実行日時] パラメーターと [プロパティ] タブの [依存関係] セクションのパラメーターを構成する必要があります。 | [親ノード]、[出力]、[実行日時] など、自動トリガーワークフローに関連するパラメーターを構成する必要はありません。 説明 手動トリガーワークフロー内のノードの構成は、構成する必要のないパラメーターを除き、自動トリガーワークフロー内のノードの構成と同じです。このトピックでは、自動トリガーワークフロー内のノードの構成について説明します。 |
エントリポイント |
DataStudio の左側のナビゲーションペインにエントリポイントが見つからない場合は、DataStudio に表示するモジュールを構成できます。詳細については、「表示される DataStudio モジュールの調整」をご参照ください。
自動トリガーワークフローの作成
DataStudio では、ノードなどのワークフローのコンポーネントを使用してデータ開発を実装できます。ノードを作成する前に、ワークフローを作成する必要があります。ワークフローを作成した後、ビジネス要件に基づいてワークフローを設計できます。詳細については、「ワークフローの設計」をご参照ください。自動トリガーワークフローを作成するには、次の手順を実行します。
[datastudio] ページに移動します。
DataWorks コンソール にログオンします。上部のナビゲーションバーで、目的のリージョンを選択します。左側のナビゲーションペインで、 を選択します。表示されるページで、ドロップダウンリストから目的のワークスペースを選択し、[データ開発に移動] をクリックします。
DataStudio ページで、ポインターを
アイコンの上に移動し、[ワークフローの作成] を選択します。
[ワークフローの作成] ダイアログボックスで、[ワークフロー名] パラメーターと [説明] パラメーターを構成します。
[作成] をクリックします。
ワークフローが作成された後、次の操作を実行できます。
ワークフロー内で計算エンジンのノードを開発します。詳細については、「ビジネスロジックの設計」をご参照ください。
ワークフローをコミットして、ワークフローで開発したノードを本番環境にコミットおよびデプロイします。詳細については、「ワークフローのコミット」をご参照ください。
ワークフローを管理します。詳細については、「すべてのワークフローの表示」、「ワークフローからのノードの削除」、「複製のための共通ワークフローのエクスポート」、および「DataWorks ワークスペースから一度に複数のワークフローをエクスポートし、他の DataWorks ワークスペースまたはオープンソースエンジンにインポートする」をご参照ください。
ワークフローの設計
コード開発はワークフローで実装されます。ワークフローでコードを開発するには、ディレクトリツリーの計算エンジンのタイプのフォルダーの下にノードを作成します。ワークフローをダブルクリックすることもできます。ワークフロー構成タブで、さまざまな計算エンジンのタイプのノードを含むコンポーネントをキャンバスにドラッグし、コンポーネントを接続して有向非巡回グラフ(DAG)を形成します。 ワークフローを設計する際には、次の点に注意してください。
ワークフローに多数のノードが作成されると、ワークフローの実行に影響を与える可能性があります。ワークフローには 100 個以下のノードを作成することをお勧めします。
説明ワークフローには最大 1,000 個のノードを作成できます。
DAG では、2 つのノード間に線を描いて、2 つのノード間の依存関係を構成できます。ノードの構成タブで [プロパティ] パネルを開き、パネルでノードの依存関係を構成することもできます。詳細については、「スケジューリング依存関係構成ガイド」をご参照ください。
ワークフローのディレクトリツリーにノードを作成する場合、コード内の系統に基づいてノードの依存関係を構成できます。詳細については、「スケジューリング依存関係構成ガイド」をご参照ください。
ビジネスロジックの設計
DataWorks は、さまざまな計算エンジンの機能をさまざまなタイプのノードにカプセル化します。さまざまな計算エンジンのタイプのノードを使用して、計算エンジンで複雑なコマンドを実行することなく、データを開発できます。また、DataWorks の汎用ノードを使用して、複雑なロジックを設計することもできます。
Data Integration のノードや計算エンジンのノードなど、ワークフロー内のノードを構成できます。
バッチ同期ノードやリアルタイム同期ノードなど、Data Integration のノードを構成してデータを同期できます。
MaxCompute 計算エンジンの ODPS SQL ノードなど、ワークフロー内の計算エンジンのノードに基づいてデータクレンジングを実行できます。コードを開発するときにリソースまたは関数を使用する場合、DataWorks では、視覚化された方法でリソースと関数を作成できます。
さまざまな計算エンジンの機能をカプセル化するサポートされているノードのタイプ、および DataWorks での開発でサポートされている機能の詳細については、「DataStudio」をご参照ください。
スケジューリングの依存関係と基本プロパティの構成方法の詳細については、「基本プロパティの構成」をご参照ください。
ワークフローのコミット
標準モードのワークスペースでは、DataStudio ページでは、開発環境でノードを開発およびテストすることのみが可能です。コードを本番環境にコミットするには、ワークフロー内の複数のノードを一度にコミットし、[デプロイ] ページでデプロイできます。
ワークフローを設計した後、ツールバーの
アイコンをクリックします。
[コミット] ダイアログボックスで、コミットするノードを選択し、[変更の説明] フィールドにコメントを入力します。次に、ビジネス要件に基づいて [I/O の不一致アラートを無視] を選択するかどうかを決定します。[I/O の不一致アラートを無視] を選択しないと、構成した入力と出力がコード系統分析で識別された入力と出力と一致しないとシステムが判断した場合、エラーメッセージが表示されます。詳細については、「ノードをコミットすると、ノードの入力と出力がノード用に開発されたコードのデータ系統と一致しないというエラーがシステムによって報告されます。どうすればよいですか?」をご参照ください。
[確認] をクリックします。
説明ノードのコードまたはプロパティを変更しておらず、ノードの構成タブでノードをコミットしている場合、[コミット] ダイアログボックスでノードを選択できません。ノードのコードまたはプロパティを変更したが、ノードの構成タブでノードをコミットしていない場合は、[コミット] ダイアログボックスでノードを選択できます。次に、[変更の説明] フィールドにコメントを入力し、[確認] をクリックします。ノードのコードまたはプロパティへの変更がコミットされます。
ワークフロー内のノードをデプロイします。詳細については、「標準モードのワークスペースにノードをデプロイする」をご参照ください。
操作履歴の表示
DataStudio ページの 操作履歴 ペインに移動して、現在のログオンアカウント内で過去 3 日間に実行されたすべてのノードのレコードを表示できます。
DataStudio でノードを実行すると、ノードは対応する計算エンジンインスタンスに発行されます。ノードの実行中に誤ってノードを閉じた場合でも、ノードは継続的に実行されます。[操作履歴] ペインに移動して、ノードの実行ログを表示したり、ノードを停止したりできます。
すべてのワークフローの表示
[スケジュール済みワークフロー] ペインで、[ビジネスフロー] を右クリックし、[すべてのワークフロー] を選択して、現在のワークスペース内のすべてのワークフローを表示します。
ワークフローのカードをクリックします。ワークフローの構成タブが表示されます。
ソリューション機能を使用したワークフローの管理
ソリューションに 1 つ以上のワークフローを含めることができます。ソリューションには次の利点があります。
ソリューションには複数のワークフローを含めることができます。
ワークフローは複数のソリューションに追加できます。
ワークスペースメンバーは、ワークスペース内のすべてのソリューションを共同で開発および管理できます。
ソリューションを使用してワークフローを管理する場合、次の操作を実行できます。
DataStudio ページの左側のナビゲーションペインの下部にある
アイコンをクリックします。[個人設定] タブの [設定] ページが表示されます。[ファイル管理] セクションの [個人設定] タブで、[ソリューションを表示] を選択します。
一度に複数のワークフローをソリューションに追加します。これを行うには、ソリューションを右クリックし、[編集] を選択して、[ソリューションの変更] ダイアログボックスの [ワークフロー] パラメーターを変更します。
ワークフローからのノードの削除
バッチ操作機能を使用したノードの削除
バッチ操作 機能を使用して、複数のノードのスケジューリングプロパティを一度に変更できます。たとえば、複数のノードで使用されるリソースグループを一度に変更できます。また、この機能を使用して、複数のノードを一度にレビュー用にコミットすることもできます。ノードタイプ、ワークフロー、およびスケジューリングのリソースグループ別にノードをフィルタリングできます。
開発環境で複数のノードのスケジューリングプロパティを一度に変更できます。本番環境で変更を有効にするには、ノードを本番環境にデプロイする必要があります。
[datastudio] ページで、
[スケジュール済みワークフロー] の右側にある ノード
アイコンをクリックして、 タブに移動します。
ノードを変更または削除します。
ノード名、[ノード ID]、[ノードタイプ]、[ワークフロー] などのフィルター条件を構成して、変更または削除するノードを見つけます。
特定のノードまたはすべてのノードを選択します。
ノードを変更または削除します。
ノードの変更: 一度に複数のノードの所有者とスケジューリングのリソースグループのみを変更できます。 [ノード] タブの下部にある [所有者の変更] または [スケジューリングのリソースグループの変更] をクリックして、複数のノードの所有者またはスケジューリングのリソースグループを一度に変更できます。
表示されるダイアログボックスで、[強制的に変更] パラメーターを [はい] に設定すると、選択したすべてのノードを変更できます。このパラメーターを [いいえ] に設定すると、ロックしたノードのみを変更できます。
ノードの削除: 選択したノードを削除するには、[ノード] タブの下部にある
を選択します。[ノードの削除] ダイアログボックスで、[強制的に削除] パラメーターを [はい] に設定すると、選択したすべてのノードを削除できます。このパラメーターを [いいえ] に設定すると、ロックしたノードのみを削除できます。
ノードグループを使用したノードの削除
ノードグループを作成、参照、分割、および削除できます。詳細については、「ノードグループの作成と管理」をご参照ください。
複製のための共通ワークフローのエクスポート
ノードグループ機能を使用して、ワークフロー内のすべてのノードをノードグループとしてすばやくグループ化し、新しいワークフローでノードグループを参照できます。詳細については、「ノードグループの作成と管理」をご参照ください。
DataWorks ワークスペースから一度に複数のワークフローをエクスポートし、他の DataWorks ワークスペースまたはオープンソースエンジンにインポートする
ワークスペース内の複数のワークフローを一度にエクスポートし、ワークフローを別のワークスペースにインポートする場合は、DataWorks の Migration Assistant サービスを使用できます。詳細については、「概要」をご参照ください。