このトピックでは、DataWorks に関連する基本的な概念 (ワークフロー、ソリューション、SQL スクリプトテンプレート、ノード、インスタンス、コミット操作、スクリプト、リソース、関数、出力名など) について説明します。

ワークフロー

ワークフローはビジネスから抽象化され、業務要件に基づいてコードを管理および開発し、ノード管理の効率を向上させるのに役立ちます。
ワークフローは複数のソリューションに追加できます。
ワークフローは、業務要件に基づいてコードを管理および開発するのに役立ちます。 ワークフローには次の機能が備わっています。
  • ワークフロー内のノードはタイプ別に整理されます。
  • 階層ディレクトリ構造がサポートされています。 最大 4 つのレベルのサブフォルダーを作成することを推奨します。
  • ビジネスの観点から各ワークフローを表示および最適化できます。
  • 各ワークフロー全体のデプロイと管理ができます。
  • ダッシュボードで各ワークフローを表示して、コードを効率的に開発できます。

解決方法

ソリューションには、1 つ以上のワークフローが含まれます。

ソリューションの利点は次の通りです。
  • ソリューションには複数のワークフローを含めることができます。
  • ワークフローは複数のソリューションに追加できます。
  • ワークスペースのメンバーは、ワークスペースのすべてのソリューションを共同で開発および管理することができます。

SQL スクリプトテンプレート

SQL スクリプトテンプレートは、SQL スクリプトから抽象化された一般的なロジックチャンクです。 コード開発の効率を高めるために再利用できます。

各 SQL スクリプトテンプレートには、1 つ以上のソーステーブルが含まれます。 ソーステーブルのデータをフィルタリングし、ソーステーブルを結合し、それらを集約して、新しい業務の要件に基づいて結果テーブルを生成できます。 SQL スクリプトテンプレートには、複数の入力パラメーターと出力パラメーターが含まれています。

Node

ノードは、データに対して行うさまざまな操作です。例は以下のとおりです。
  • 同期ノードは、ApsaraDB for RDS から MaxCompute にデータを同期するために使用されます。
  • ODPS SQL ノードは、データ変換のために MaxCompute SQL を実行するために使用されます。

各ノードには 0 個以上の入力テーブルまたはデータセットがあり、1 つ以上の出力テーブルまたはデータセットを生成します。

ノードは、ノードタスク、フロータスク、内部ノードに分類されます。ノード
データ型 説明
ノードタスク ノードタスクはデータに対して実行される操作です。 ノードタスクと他のノードタスクまたはフロータスク間の依存関係を構成して、有向非巡回グラフ (DAG) を形成できます。
フロータスク フロータスクは、ワークフロータスクを処理する内部ノードのグループを含みます。 作成するフロータスクは 10 個未満にすることを推奨します。
フロータスク内の内部ノードは、他のフロータスクやノードタスクに依存関係として使用することはできません。 フロータスクと他のフロータスクまたはノードタスク間の依存関係を構成して、DAG を形成できます。
DataWorks V2.0 以降では、DataWorks V1.0 で作成されたフロータスクを見つけることは可能です。ただし、フロータスクを作成することはできません。 ワークフローを作成して同様の操作を実行することは可能です。
内部ノード 内部ノードはフロータスク内のノードです。 基本的にノードタスクと同じ機能を持っています。 ドラッグアンドドロップ操作でフロータスクの内部ノード間の依存関係を構成できます。 ただし、内部ノードはフロータスクの定期実行の構成に従っているため、内部ノードの定期実行を構成することはできません。

インスタンス

インスタンスは、特定の時点でのノードのスナップショットです。 ノードがスケジューリングシステムによってスケジュールされたとき、または手動でトリガーされたときに生成されます。 インスタンスには、ノードの実行時間、ノードの実行ステータス、操作ログなどの情報が含まれています。

ノード 1 は、毎日 2:00 に実行されるように構成されているものとします。 毎日 23:30 に、スケジューリングシステムは、翌日の 02:00 に実行されるノード 1 のインスタンスを自動的に生成します。 翌日の 02:00 に、スケジューリングシステムがすべての祖先インスタンスが実行されていることを検出すると、システムはノード 1 のインスタンスを自動的に実行します。
[オペレーションセンター] [サイクルインスタンス] のページで、インスタンス情報をクエリできます。

コミット

ノードとワークフローを開発環境からスケジューリングシステムにコミットできます。 スケジューリングシステムは、コミットされたノードとワークフローで指定されたコードを、その構成に従って実行します。
スケジューリングシステムは、ノードとワークフローをコミットした後でのみ実行します。

スクリプト

スクリプトは、データ分析用のコードを保存します。 スクリプト内のコードは、データのクエリと分析にのみ使用できます。 スケジューリングシステムへの展開やスケジューリングはできません。

リソースと関数

リソースと関数は MaxCompute の概念です。 詳細については、「リソース」および「関数」をご参照ください。

DataWorks コンソールでは、リソースと関数を管理できます。 DataWorks のリソースと関数は、MaxCompute などの他のサービスを介してアップロードされている場合はクエリできません。

出力名

Alibaba Cloud アカウントでは、各ノードにその子孫ノードへの接続に使用される出力名があります。

ノード名またはノード ID ではなく、ノードの出力名に基づいてノードの依存関係を構成する必要があります。 依存関係を構成すると、ノードの出力名はその子孫ノードの入力名になります。
各出力名は、Alibaba Cloud アカウント配下で他のノードとノードを区別します。 デフォルトでは、出力名は次の形式になります:ワークスペース名.ランダムに生成された 9 桁の number_out 。 ノードの出力名をカスタマイズすることもできます。 各ノードの出力名は、Alibaba Cloud アカウント配下で一意である必要があります。