DataWorks は、ビッグデータ開発とガバナンスのための統一されたエンドツーエンドのプラットフォームです。MaxCompute、Hologres、EMR、AnalyticDB、CDP などのビッグデータエンジンと統合し、データウェアハウス、データレイク、データレイクハウスなどのソリューションをサポートします。このトピックでは、DataWorks のコア機能を使用して、データの統合、ビジネスロジックの処理、定期的なタスクのスケジューリング、データの可視化を行う方法の例を示します。
はじめに
このチュートリアルでは、E コマースシナリオを例として、生データの統合からデータの分析、計算、可視化まで、完全なデータパイプラインを構築する方法を示します。標準化された開発プロセスに従うことで、再利用可能なデータ生産パイプラインを迅速に構築する方法を学びます。このプロセスにより、スケジューリングの信頼性と運用の可観測性が保証されます。このアプローチにより、ビジネス担当者は深い技術知識を必要とせずにデータを価値に変換でき、企業がビッグデータアプリケーションを採用する際の障壁を下げることができます。
このチュートリアルは、次の操作を迅速に学ぶのに役立ちます:
データ同期: DataWorks の Data Integration モジュールを使用してオフライン同期タスクを作成します。このタスクは、ビジネスデータを MaxCompute などのビッグデータコンピューティングプラットフォームに同期します。
データクレンジング: DataWorks の DataStudio モジュールを使用して、ビジネスデータの処理、分析、マイニングを行います。
データの可視化: DataWorks のデータ分析モジュールを使用して、分析結果をビジネス担当者が理解しやすいチャートに変換します。
定期的なスケジューリング: データ同期とデータクレンジングのワークフローに定期的なスケジュールを構成し、スケジュールされた時間に実行します。

このチュートリアルでは、公開データソースから商品と注文の生データを MaxCompute に同期します。その後、次のデータ分析ワークフローを使用して、日次ベストセラー商品カテゴリのランキングを生成します:
前提条件
このチュートリアルの手順を完了するには、AliyunDataWorksFullAccess 権限を持つ Alibaba Cloud アカウントまたは RAM ユーザーを使用する必要があります。詳細については、「Alibaba Cloud アカウントを準備する」または「RAM ユーザーを準備する」をご参照ください。
DataWorks は、製品およびモジュールレベルでの権限管理をサポートする包括的なアクセスの制御メカニズムを提供します。より詳細なアクセスの制御については、「DataWorks 権限モデルの概要」をご参照ください。
準備
DataWorks のアクティベート
ワークスペースの作成
リソースグループを作成してワークスペースにアタッチする
リソースグループのインターネットアクセスを有効にする
MaxCompute 計算資源の作成とアタッチ
手順
このセクションでは、次のシナリオを例として、DataWorks の機能について説明します:
E コマースプラットフォームが商品と注文情報を MySQL データベースに保存していると仮定します。定期的に注文データを分析し、日次ベストセラー商品カテゴリのランキングを視覚的な形式で表示する必要があります。
1. データ同期
データソースの作成
DataWorks は、データソース接続を使用してデータソースと宛先に接続します。このステップでは、ビジネスデータを格納するソース MySQL データベースに接続するためにMySQL データソースを作成する必要があります。このデータソースは、このチュートリアルの生データを提供します。
このチュートリアルのために生のビジネスデータを準備する必要はありません。テストと学習の目的で、DataWorks はテストデータセットを提供します。テーブルデータは公開 MySQL データベースに保存されており、MySQL データソースを作成することで接続できます。
DataWorks 管理センターページに移動し、中国 (上海) リージョンに切り替え、ドロップダウンリストから作成したワークスペースを選択し、[管理センターへ移動] をクリックします。
左側のナビゲーションウィンドウで [データソース] をクリックして [データソースリスト] ページに移動します。[データソースの追加] をクリックし、MySQL タイプを選択して、MySQL データソースのパラメーターを構成します。
説明表に記載されていないパラメーターについては、デフォルト値を保持してください。
初めてデータソースを追加する際には、[クロスサービス承認] を完了するように求められます。画面の指示に従って AliyunDIDefaultRole サービスリンクロールを付与します。
パラメーター
説明
データソース名
この例では MySQL_Source を使用します。
構成モード
[接続文字列モード] を選択します。
接続アドレス
ホスト IP:
rm-bp1z69dodhh85z9qa.mysql.rds.aliyuncs.comポート:
3306。
重要このチュートリアルで提供されるデータは、DataWorks の実践練習専用です。すべてのデータはテストデータであり、Data Integration モジュールでのみ読み取り可能です。
データベース名
retail_e_commerceに設定します。ユーザー名
ユーザー名
workshopを入力します。パスワード
パスワード
workshop#2017を入力します。[接続構成] エリアで、[Data Integration] タブに切り替え、ワークスペースにアタッチされたリソースグループを見つけ、[接続ステータス] 列の [接続性のテスト] をクリックします。
説明MySQL データソースの接続性テストが失敗した場合は、次の手順を実行してください:
接続診断ツールの指示に従ってください。
リソースグループにアタッチされている VPC に EIP が構成されているか確認してください。MySQL データソースは、リソースグループがインターネットにアクセスできる必要があります。詳細については、「リソースグループのインターネットアクセスを有効にする」をご参照ください。
[完了] をクリックします。
同期パイプラインの構築
このステップでは、E コマースの商品および注文データを MaxCompute テーブルに同期するための同期パイプラインを構築します。これにより、後続の処理のためにデータが準備されます。
左上隅の
アイコンをクリックし、 を選択してデータ開発ページに移動します。ページの上部で、このチュートリアル用に作成したワークスペースに切り替えます。左側のナビゲーションウィンドウで
をクリックして、データ開発 - プロジェクトディレクトリページに移動します。[プロジェクトディレクトリ] エリアで
をクリックし、[新しいワークフロー] を選択して、ワークフロー名を設定します。このチュートリアルでは dw_quickstartに設定します。ワークフローオーケストレーションページで、左側から [ゼロロードノード] と [オフライン同期] ノードをキャンバスにドラッグし、名前を設定します。
このチュートリアルでのノード名の例とその機能は次のとおりです:
ノードタイプ
ノード名
ノード機能
仮想ノードworkshopユーザーペルソナ分析ワークフロー全体を管理し、データ転送パスをより明確にするために使用されます。このノードは [ドライランタスク] であり、コード編集は不要です。
オフライン同期ノードods_item_info商品情報ソーステーブル
item_infoを MySQL から MaxCompute テーブルods_item_infoに同期するために使用されます。
オフライン同期ノードods_trade_order注文情報ソーステーブル
trade_orderを MySQL から MaxCompute テーブルods_trade_orderに同期するために使用されます。ノード間に線をドラッグして手動で接続します。
workshopノードを 2 つのオフライン同期ノードの先祖ノードとして設定します。結果は次の図のようになります:ワークフローのスケジューリング構成。
ワークフローオーケストレーションページの右側のパネルで [スケジューリング構成] をクリックし、パラメーターを構成します。このチュートリアルでは、次の主要なパラメーターを構成する必要があります。他のすべてのパラメーターはデフォルト値のままにできます。
スケジューリング構成パラメーター
説明
スケジューリングパラメーター
ワークフロー全体のスケジューリングパラメーターを設定します。ワークフロー内の内部ノードは直接使用できます。
このチュートリアルでは、前日の日付を取得するために
bizdate=$[yyyymmdd-1]として構成します。説明DataWorks は、コード内で動的なパラメーター入力を可能にするスケジューリングパラメーターを提供します。SQL コード内で
${variable_name}の形式で変数を定義し、[スケジューリング構成] > [スケジューリングパラメーター] でこれらの変数に値を割り当てることができます。スケジューリングパラメーターでサポートされている形式の詳細については、「スケジューリングパラメーターでサポートされている形式」をご参照ください。スケジューリングサイクル
このチュートリアルでは
日次として構成します。スケジューリング時間
このチュートリアルでは、[スケジューリング時間] を
00:30に設定します。ワークフローは毎日00:30に開始されます。定期的な依存関係
ワークフローには上流依存関係がないため、これは構成しなくてもかまいません。統一管理のために、[ワークスペースルートノードを使用] をクリックしてワークフローをワークスペースルートノードにアタッチできます。
ワークスペースルートノードは
workspace_name_rootの形式で命名されます。
同期タスクの構成
初期ノードの構成
商品情報同期パイプライン (ods_item_info) の構成
注文データ同期パイプライン (ods_trade_order) の構成
2. データクレンジング
データが MySQL から MaxCompute に同期された後、商品情報テーブル ods_item_info と注文情報テーブル ods_trade_order の 2 つのデータテーブルができます。DataWorks の DataStudio モジュールを使用して、これらのテーブルのデータをクレンジング、処理、分析し、日次ベストセラー商品カテゴリのランキングを生成できます。
データ変換パイプラインの構築
DataStudio の左側のナビゲーションウィンドウで
をクリックしてデータ開発ページに移動し、[プロジェクトディレクトリ] エリアで作成したワークフローを見つけ、ワークフローオーケストレーションページを開き、左側のコンポーネントリストから MaxCompute SQL ノードをキャンバスにドラッグします。次に、ノードに名前を付けます。このチュートリアルでのノード名の例とその機能は次のとおりです:
ノードタイプ
ノード名
ノード機能
MaxCompute SQLdim_item_infoods_item_infoテーブルに基づいて、商品ディメンションデータを処理し、商品基本情報ディメンションテーブルdim_item_infoを生成します。
MaxCompute SQLdwd_trade_orderods_trade_orderテーブルに基づいて、注文の詳細なトランザクションデータに対して初期のクレンジング、変換、ビジネスロジック処理を行い、トランザクション注文詳細ファクトテーブルdwd_trade_orderを生成します。
MaxCompute SQLdws_daily_category_salesdwd_trade_orderテーブルとdim_item_infoテーブルに基づいて、DWD レイヤーからクレンジングおよび標準化された詳細データを集計し、日次商品カテゴリ売上集計テーブルdws_daily_category_salesを生成します。
MaxCompute SQLads_top_selling_categoriesdws_daily_category_salesテーブルに基づいて、日次ベストセラー商品カテゴリのランキングテーブルads_top_selling_categoriesを生成します。ノード間に線をドラッグして手動で接続し、各ノードの先祖ノードを構成します。結果は次の図のようになります:
説明ワークフローでは、各ノードの上流および下流の依存関係を手動で接続して設定できます。また、子ノードでコード解析を使用してノードの依存関係を自動的に識別することもできます。このチュートリアルでは手動接続方法を使用します。コード解析の詳細については、「自動依存関係解析」をご参照ください。
データ変換ノードの構成
dim_item_info ノードの構成
dwd_trade_order ノードの構成
dws_daily_category_sales ノードの構成
ads_top_selling_categories ノードの構成
3. デバッグと実行
ワークフローを構成した後、本番環境に公開する前に、ワークフロー全体を実行して構成が正しいことを確認する必要があります。
DataStudio の左側のナビゲーションウィンドウで
をクリックしてデータ開発ページに移動し、[プロジェクトディレクトリ] エリアで作成したワークフローを見つけます。ツールバーで [実行] をクリックします。[現在の実行値] に、現在の日付の前日の日付を入力します (例:
20250416)。説明ワークフローノードの構成では、DataWorks が提供するスケジューリングパラメーターを使用して、コード内で動的なパラメーター入力を有効にします。ノードをデバッグする際には、テストのためにこのパラメーターに定数値を割り当てる必要があります。
[OK] をクリックしてデバッグ実行ページに移動します。
実行が完了するのを待ちます。期待される結果は次の図のようになります:

4. データのクエリと可視化
MySQL からの生のテストデータを処理し、ads_top_selling_categories テーブルに集計しました。これで、このテーブルをクエリして分析結果を表示できます。
左上隅の
アイコンをクリックします。ポップアップページで をクリックします。マイファイルの後ろにある をクリックします。カスタムの [ファイル名] を入力し、[OK] をクリックします。
SQL クエリページで、次の SQL を構成します。
SELECT * FROM ads_top_selling_categories WHERE pt=${bizdate};右上隅で MaxCompute データソースを選択し、[OK] をクリックします。
上部の [実行] ボタンをクリックします。[コスト見積もり] ページで [実行] をクリックします。
クエリ結果で
をクリックして結果をチャートとして表示します。チャートの右上隅にある
をクリックしてチャートスタイルをカスタマイズできます。また、チャートの右上隅にある [保存] をクリックしてカードとして保存することもできます。その後、左側のナビゲーションウィンドウで [カード] (
) をクリックして保存したカードを表示できます。
5. 定期的なスケジューリング
前の手順を完了することで、前日のさまざまな商品カテゴリの売上データを取得しました。毎日最新の売上データを取得するには、ワークフローを本番環境に公開して、スケジュールされた時間に定期的に実行できます。
データ同期およびデータ変換タスクを構成した際に、ワークフローとそのノードのスケジューリングパラメーターも構成しました。再度構成する必要はありません。ワークフローを本番環境に公開するだけで済みます。スケジューリング構成の詳細については、「ノードスケジューリング構成」をご参照ください。
左上隅の
アイコンをクリックします。ポップアップページで をクリックします。DataStudio の左側のナビゲーションウィンドウで
をクリックしてデータ開発ページに移動します。このケースで使用されているプロジェクトスペースに切り替えます。次に、[プロジェクトディレクトリ] エリアで作成したワークフローを見つけます。ツールバーで [公開] をクリックします。公開パネルで [本番環境への公開を開始] をクリックします。[デプロイメントパッケージのビルド] と [本番チェッカー] のステップが完了するのを待ち、[公開の確認] をクリックします。
[本番環境への公開] ステータスが [完了] に変わったら、[O&M へ移動] をクリックしてオペレーションセンターに移動します。

で、ワークフローの自動トリガータスク (このチュートリアルでは
dw_quickstartという名前) を確認できます。ワークフロー内の子ノードの自動トリガータスクの詳細を表示するには、ワークフローの自動トリガータスクを右クリックし、[内部タスクの表示] を選択します。

期待される結果は次のとおりです:

次のステップ
このチュートリアルで使用したモジュールの操作とパラメーターの詳細については、「Data Integration」、「DataStudio (新バージョン)」、「データ分析」、および「ノードスケジューリング構成」をご参照ください。
このチュートリアルで紹介したモジュールに加えて、DataWorks は データモデリング、Data Quality、データセキュリティガード、DataService Studio などの他のモジュールも提供し、ワンストップのデータ監視と O&M を提供します。
他の DataWorks チュートリアルを試すこともできます。詳細については、「その他のシナリオベースのケース/チュートリアル」をご参照ください。


