DataWorks は、MaxCompute、Hologres、E-MapReduce(EMR)、AnalyticDB、CDP などのビッグデータエンジンを活用した、統合型・エンドツーエンドのビッグデータ開発およびガバナンスプラットフォームです。データウェアハウス、データレイク、レイクハウスアーキテクチャをサポートします。本チュートリアルでは、データのインジェスト、ビジネスワークフローのオーケストレーション、定期的なタスクのスケジュール設定、および DataWorks を用いたデータ可視化の方法について説明します。
はじめに
本チュートリアルでは、EC(電子商取引)のシナリオを用いて、生データのインジェストからデータ分析・データ可視化までの一連のエンドツーエンドデータパイプライン構築手順を実演します。この標準化されたプロセスに従うことで、信頼性の高いスケジュール実行と運用時の観測性(Observability)を確保できる再利用可能なデータワークフローを迅速に構築できます。このアプローチにより、高度な技術的知識を持たないビジネスユーザーでもデータからインサイトを導き出すことが可能となり、組織全体でのビッグデータアプリケーションの採用も容易になります。
本チュートリアルでは、以下の作業を行います:
データ同期:DataWorks のデータ統合モジュールを使用して、単一テーブルのバッチタスクを作成し、ビジネスデータを MaxCompute などのビッグデータ計算プラットフォームへ同期します。
データクリーニング:DataWorks の Data Studio モジュールを使用して、ビジネスデータの処理、分析、およびマイニングを行います。
データ可視化:DataWorks のデータ分析モジュールを使用して、分析結果をビジネスユーザーが直感的に理解できるチャート形式に変換します。
定期スケジュール設定:データ同期およびデータクリーニングプロセスに対して定期スケジュールを設定します。

本チュートリアルでは、パブリックデータソースから取得した生の商品および注文データを MaxCompute へ同期・分析し、毎日の人気商品カテゴリランキングを生成するワークフローを使用します。
前提条件
本チュートリアルを完了するには、Alibaba Cloud アカウントまたは AliyunDataWorksFullAccess 権限を持つ RAM ユーザーが必要です。詳細については、「Alibaba Cloud アカウントの準備」または「RAM ユーザーの準備」をご参照ください。
DataWorks は、製品およびモジュールレベルのアクセス制御をサポートする包括的な権限管理システムを提供します。より詳細なアクセス制御が必要な場合は、「DataWorks 権限管理システムの概要」をご参照ください。
前提条件
DataWorks の有効化
ワークスペースの作成
リソースグループの設定
パブリックネットワークへのアクセスの有効化
MaxCompute リソースの設定
操作手順
本チュートリアルでは、実践的な例を通じて DataWorks の主要機能を紹介します。
MySQL データベースに商品および注文情報を格納している EC(電子商取引)プラットフォームを想定します。目的は、これらのデータを定期的に分析し、毎日の人気商品カテゴリランキングを可視化することです。
ステップ 1:データの同期
データソースの作成
このステップでは、チュートリアルのソースデータベースに接続する MySQL データソース を作成します。
ご自身のビジネスデータを準備する必要はありません。DataWorks では、本チュートリアル用にパブリック MySQL データベース上のサンプルデータセットを提供しています。このデータセットに接続するために MySQL データソースを作成します。
DataWorks 管理センター ページへ移動します。リージョンを 中国東部 2(上海) に切り替え、ドロップダウンリストからご利用のワークスペースを選択し、「管理センターへ移動」をクリックします。
左側のナビゲーションペインで データソース をクリックして データソース一覧 ページへ移動します。「データソースの追加」をクリックし、MySQL 型を選択してデータソースのパラメーターを設定します。
説明表に記載されていないパラメーターについては、デフォルト値のままにしてください。
データソースを初めて追加する場合は、クロスサービス権限付与 を完了する必要があります。画面上の指示に従って AliyunDIDefaultRole サービスリンクロールを付与します。
パラメーター
説明
データソース名
本チュートリアルでは、MySQL_Source を入力します。
構成モード
接続文字列モード を選択します。
エンドポイント
ホストアドレス IP:
rm-bp1z69dodhh85z9qa.mysql.rds.aliyuncs.comポート:
3306
重要本チュートリアルで使用するデータは、DataWorks のハンズオン学習用であり、テスト目的専用です。データ統合モジュール内では読み取り専用となっています。
データベース名
retail_e_commerceを入力します。ユーザー名
workshopを入力します。パスワード
workshop#2017を入力します。接続設定 セクションで、データ統合 タブに切り替えます。ワークスペースにバインドされたリソースグループを見つけ、接続状態 列の ネットワーク接続性のテスト をクリックします。
説明MySQL データソースの接続性テストが失敗した場合は、以下の操作を行ってください:
接続性診断ツールの後続ステップを完了してください。
リソースグループがバインドされた VPC に Elastic IP アドレス(EIP)が設定されているか確認してください。MySQL データソースは、リソースグループがパブリックネットワークへのアクセスを有効化している必要があります。詳細については、「リソースグループのパブリックネットワークアクセスの有効化」をご参照ください。
作成完了 をクリックします。
同期パイプラインの構築
このステップでは、EC(電子商取引)の商品および注文データを MaxCompute テーブルへ同期し、その後の処理を行う同期パイプラインを構築します。
左上隅の
アイコンをクリックし、 を選択して DataStudio ページへ移動します。ページ上部でご利用のワークスペースに切り替えます。左側のナビゲーションペインで
をクリックして DataStudio ページへ移動します。ワークスペースディレクトリ セクションで
をクリックし、「ワークフローの作成」を選択して、名前を dw_quickstartとします。ワークフローキャンバス上で、左側パネルから ゼロロード ノードおよび 2 つの バッチ同期 ノードをドラッグ&ドロップします。バッチ同期 ノードの設定は以下の通りです:
データソースタイプ:
MySQLデータ送信先タイプ:
MaxCompute特定タイプ:バッチ同期ノード
以下に、本チュートリアルで使用するノード名とその機能を示します:
ノードタイプ
ノード名
機能
ゼロロードworkshopワークフローのエントリーポイントとして機能し、明確なデータフローを定義します。これは、[ドライラン] タスクであり、コードを必要としません。
バッチ同期ノードods_item_infoMySQL の商品情報ソーステーブル
item_infoを MaxCompute のods_item_infoテーブルへ同期します。
バッチ同期ノードods_trade_orderMySQL の注文情報ソーステーブル
trade_orderを MaxCompute のods_trade_orderテーブルへ同期します。ノードをドラッグ&ドロップして接続し、
workshopノードを両方のバッチ同期ノードの上流ノードとします。最終的な構成は以下のようになります:ワークフローのスケジュール設定を行います。
ワークフローキャンバスの右側で スケジュール設定 をクリックし、パラメーターを設定します。以下に、本チュートリアルで重要なパラメーターを示します。その他のパラメーターについてはデフォルト値のままにしてください。
スケジュールパラメーター
説明
スケジュールパラメーター
ワークフロー全体のスケジュールパラメーターを設定します。これらのパラメーターは、ワークフロー内のノードで直接使用できます。
本チュートリアルでは、前日の日付を取得するために
bizdate=$[yyyymmdd-1]を設定します。説明DataWorks では、コード内で動的な値を指定できるスケジュールパラメーターを提供しています。
${variable_name}形式で SQL コード内に変数を定義し、スケジュール設定 > スケジュールパラメーター で値を割り当てることができます。サポートされるパラメーター形式については、「スケジュールパラメーターのサポート形式」をご参照ください。スケジュール周期
本チュートリアルでは、
毎日を設定します。スケジュール時刻
本チュートリアルでは、スケジュール時刻 を
00:30に設定します。ワークフローは毎日00:30に開始します。スケジュール依存関係
本ワークフローには上流の依存関係がないため、設定を省略できます。統一管理のために、ワークスペースのルートノードを使用 をクリックして、ワークフローをワークスペースのルートノードにアタッチできます。
ワークスペースのルートノードの名前は
WorkspaceName_rootの形式です。
同期タスクの設定
初期ノード
商品情報の同期(ods_item_info)
注文データの同期(ods_trade_order)
ステップ 2:データのクリーニングおよび処理
データを MaxCompute へ同期した後、DataStudio モジュールを使用して ods_item_info および ods_trade_order テーブルをクリーニング、処理、分析し、毎日の人気商品カテゴリランキングを生成します。
データ処理パイプラインの構築
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テーブルからクリーニングおよび標準化された詳細データを集約し、日次商品カテゴリ売上サマリーテーブル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 の左側ナビゲーションペインで
をクリックして DataStudio ページへ移動し、ワークスペースディレクトリ セクションで作成したワークフローを見つけます。ノードツールバーの 実行 をクリックします。「実行パラメーターの入力」ダイアログボックスで、前日の日付(例:
20250416)を入力します。説明ワークフローノードでは、動的コード用のスケジュールパラメーターを使用します。デバッグ時は、これらのパラメーターにテスト用の定数値を割り当てる必要があります。
OK をクリックしてデバッグ実行ページへ移動します。
実行が完了するまで待ちます。期待される結果は以下の通りです:

ステップ 4:データの照会および可視化
生データが処理・集約され、ads_top_selling_categories テーブルに格納されたので、その結果を照会できます。
左上隅の
アイコンをクリックし、「」をクリックします。マイファイル の隣にある をクリックします。任意の ファイル名 を入力し、「OK」をクリックします。
SQL クエリエディターで、以下の SQL 文を入力します。
SELECT * FROM ads_top_selling_categories WHERE pt=${bizdate};右上隅で MaxCompute データソースを選択し、「OK」をクリックします。
上部の 実行 ボタンをクリックします。「コスト見積もり」ページで、「実行」をクリックします。
クエリ結果で
をクリックしてチャートを表示します。チャートの右上隅にある
アイコンをクリックすると、スタイルをカスタマイズできます。また、チャートの右上隅にある 保存 をクリックして、カードとして保存することもできます。その後、左側ナビゲーションペインの カード (
)をクリックして表示できます。
ステップ 5:定期スケジュールの設定
毎日の更新を実現するため、ワークフローを本番環境にデプロイして定期実行します。
データ同期および処理のステップで、ワークフローおよびそのノードに対してスケジュールパラメーターが既に設定されています。そのため、ワークフローを本番環境にデプロイするだけで済みます。スケジュール設定の詳細については、「ノードのスケジュール設定」をご参照ください。
左上隅の
アイコンをクリックし、「」をクリックします。DataStudio の左側ナビゲーションペインで
をクリックして DataStudio ページへ移動します。本チュートリアルで使用するワークスペースに切り替え、ワークスペースディレクトリ セクションで作成したワークフローを見つけます。ノードツールバーの デプロイ をクリックします。デプロイパネルで、「本番環境へのデプロイを開始」をクリックします。「パッケージのビルド」および「本番環境オンラインチェック」のステップが完了するまで待ち、その後「デプロイ」をクリックします。
本番環境オンライン ステータスが 完了 に変わったら、「O&M を実行」をクリックしてオペレーションセンターへ移動します。

で、ワークフローの定期タスク(本チュートリアルでは
dw_quickstart)を確認できます。ワークフロー内の子ノードの定期タスクを表示するには、ワークフローの定期タスクを右クリックし、「内部タスクの表示」を選択します。

期待される結果は以下の通りです:

次のステップ
本チュートリアルで扱ったモジュールの操作およびパラメーターの詳細については、「データ統合」、「Data Studio(新)」、「データ分析」および「ノードのスケジュール設定」をご参照ください。
本チュートリアルで扱ったモジュールに加えて、DataWorks では「データモデリング」、「Data Quality」、「データセキュリティガード」、「DataService Studio」などのモジュールもサポートしており、エンドツーエンドのデータ監視および O&M を提供します。
その他のハンズオンチュートリアルおよびユースケースについては、「その他のユースケースおよびチュートリアル」をご参照ください。


