ここでは、ワークフローを作成し、ワークフロー内にノードを作成し、ノード間の依存関係を設定する方法について説明します。 設定の完了後、データ分析機能を使用して、ワークスペース内のデータをさらに計算および分析できます。

始める前に

ビジネスデータを保存するための bank_data テーブルと、データ分析結果を保存するための result_table テーブルがワークスペースに作成されていること。 データが bank_data テーブルにインポートされていること。 詳細については、「テーブルの作成とデータのインポート」をご参照ください。

このタスクについて

DataWorks のデータ分析機能を使用すると、ワークフロー内のノードをドラッグ&ドロップして、ノード間の依存関係を設定できます。 ワークフローに基づいて、データを処理し、データの依存関係を設定できます。

現在、さまざまなタイプのノードを作成できます。 たとえば、ODPS SQL ノード、ODPS Script ノード、ODPS Spark ノード、PyODPS ノード、ODPS MR ノード、Shell ノード、仮想ノード等を作成できます。

ワークフローの作成

  1. DataWorks コンソールにログインします。 左側のナビゲーションペインで、[ワークスペース] をクリックします。 [ワークスペース] ページで、対象のワークスペースを探し、[操作] 列の[データ分析] をクリックします。
  2. アイコンの作成 アイコンにポインターを合わせ、[ワークフロー] をクリックします。
  3. 表示される [ワークフローの作成] ダイアログボックスで、[ワークフロー名] および [説明] を設定します。
  4. [作成] をクリックします。

ノードの作成およびノード間の依存関係の設定

このセクションでは、start という名前の仮想ノードおよび insert_data という名前の ODPS SQL ノードをワークフロー内に作成し、insert_data ノードを start ノードに依存するように設定します。
重要
  • 仮想ノードは、ワークフローの子孫ノードを維持および制御するために使用される制御ノードです。 仮想ノードはデータを生成しません。
  • 他のノードが仮想ノードに依存していて、仮想ノードが管理者によって手動で [失敗] に設定されている場合、保留中の子孫ノードはトリガーできません。 運用保守プロセス中に、管理者は仮想ノードを無効にして、祖先ノードのエラーがさらに拡大するのを防ぐことができます。
  • 通常、ワークスペースのルートノードは、ワークフローで仮想ノードの祖先ノードとして使用されます。 ワークスペースのルートノードは、ワークスペース名_root 形式で名前を付けます。

ワークフロー全体を制御するには、ワークフローのルートノードとして仮想ノードを作成することをお勧めします。

  1. ワークフローの名前をダブルクリックして、ワークフローのダッシュボードに移動します。 ポインターを [仮想ノード] の上に移動し、右側の開発パネルにドラッグします。
  2. 表示される [ノードの作成] ダイアログボックスで [ノード名] に start を指定し、[コミット] をクリックします。
  3. ステップ 1 とステップ 2 を繰り返して、ODPS SQL ノードに insert_data という名前を付けます。
  4. ノード間を接続する線を描き、start ノードを insert_data ノードの祖先ノードに設定します。

仮想ノードの祖先ノードの設定

ワークフローでは、仮想ノードはワークフロー全体を制御するためによく使用され、ワークフロー内のすべてのノードの祖先ノードとして機能します。 一般に、ワークフローの仮想ノードは、ワークスペースのルートノードに依存します。

  1. 仮想ノードの名前をダブルクリックします。 表示されるページで、右側のナビゲーションペインの [プロパティ] タブをクリックします。
  2. [依存関係] セクションで、[ルートノードを使用] をクリックし、ワークスペースのルートノードを仮想ノードの祖先ノードとして設定します。
  3. 左上隅の 保存アイコン をクリックして変更を保存します。

ODPS SQL ノードのコードの編集

このセクションでは、ODPS SQLノード insert_data で、ローンで住宅を買う独身者の数を教育レベルごとにクエリおよび保存するために使用される SQL 文のサンプルを示します。 クエリ結果は、insert_data の子孫ノードによって分析および表示できます。

insert_data ノードに次の SQL 文を入力します。 構文の詳細については、「SQL 概要」をご参照ください。
INSERT OVERWRITE TABLE result_table  --Insert data to the result_table table.
SELECT education
    , COUNT(marital) AS num
FROM bank_data
WHERE housing = 'yes'
    AND marital = 'single'
GROUP BY education

ODPS SQL ノードの実行およびデバッグ

  1. SQL 文を insert_data ノードに入力した後、保存アイコン をクリックします。
  2. 実行アイコン をクリックして、操作ログと結果を表示します。

ワークフローのコミット

  1. ODPS SQL ノード insert_data を実行してデバッグした後、ワークフロー編集ページに戻り、コミットアイコン をクリックします。
  2. 表示される [コミット] ダイアログボックスでコミットするノードを選択し、[説明] を設定し、[I/O 不整合アラートを無視] をクリックします。
  3. [コミット] をクリックします。

次のステップ

これで、ワークフローを作成してコミットする方法を学びました。 次のチュートリアルに進みましょう。 次のチュートリアルでは、バッチ同期ノードを作成して、さまざまなタイプのデータストアにデータをエクスポートする方法を学習します。 詳しくは、「バッチ同期ノードの作成」をご参照ください。