すべてのプロダクト
Search
ドキュメントセンター

DataWorks:データ同期

最終更新日:Jul 03, 2026

このチュートリアルでは、Data Integration のバッチ同期タスクを使用して、MySQL の ods_user_info_d テーブルに格納されている基本的なユーザー情報と、Object Storage Service (OSS) の user_log.txt ファイルに格納されている Web サイトアクセスログデータを、それぞれ MaxCompute の ods_user_info_d テーブルおよび ods_raw_log_d テーブルに同期する方法を例示します。これにより、DataWorks Data Integration を使用して異種データソース間でデータを同期し、データウェアハウスを構築する方法を説明します。

前提条件

必要な作業環境が整っていることを確認してください。詳細な手順については、「環境の準備」をご参照ください。

1. データソースの作成

このチュートリアルで使用する生データを取得するために、ご利用の DataWorks ワークスペースに以下のデータソースを作成します。

  • MySQL データソース:このチュートリアルでは、MySQL に格納されている基本的なユーザー情報 (ods_user_info_d) を取得するために、user_behavior_analysis_mysql という名前の MySQL データソースを使用します。

  • HttpFile データソース:このチュートリアルでは、Object Storage Service (OSS) に格納されているユーザーの Web サイトアクセスログ (user_log.txt) を取得するために、user_behavior_analysis_httpfile という名前の HttpFile データソースを使用します。

説明

他の計算リソース向けのユーザー プロファイル分析チュートリアルで既に MySQL および HttpFile データソースを作成済みの場合は、この手順をスキップできます。

MySQL データソース (user_behavior_analysis_mysql) の作成

MySQL データベースから基本的なユーザー情報 (ods_user_info_d) を MaxCompute に同期するための MySQL データソースを作成します。

  1. データソースページに移動します。

    1. DataWorks コンソールにログインします。対象のリージョンで、左側のナビゲーションウィンドウの さらに表示 > 管理センター をクリックします。ドロップダウンリストからワークスペースを選択し、入力 管理センター をクリックします。

    2. 左側のナビゲーションウィンドウで、Data Source をクリックします。

  2. Add Connection をクリックし、データソースタイプとして MySQL を検索して選択します。

  3. [MySQL データソースの作成] ページでパラメーターを設定します。このチュートリアルでは、開発環境と本番環境の両方で同じサンプル値を使用します。

    以下の表は、このチュートリアルで必要な主なパラメーターを示しています。その他のパラメーターはデフォルト値のままにしてください。

    パラメーター

    説明

    Data Source Name

    データソース名を入力します。このチュートリアルでは、user_behavior_analysis_mysql と入力します。

    Description

    DataWorks チュートリアル専用のデータソースです。バッチ同期タスクを設定する際に、プラットフォームが提供するテストデータを読み取ることができます。このデータソースは Data Integration シナリオでの読み取り操作のみをサポートしており、他のモジュールでは使用できません。

    設定モード

    User-created Data Store with Public IP Addresses を選択します。

    Connection Address

    • ホスト IP アドレス:rm-bp1z69dodhh85z9qa.mysql.rds.aliyuncs.com

    • ポート:3306

    Database Name

    データベース名を入力します。このチュートリアルでは、workshop と入力します。

    Username

    ユーザー名を入力します。このチュートリアルでは、workshop と入力します。

    Password

    パスワードを入力します。このチュートリアルでは、workshop#2017 と入力します。

    Authentication Method

    認証なし。

  4. 接続設定 セクションで、本番環境および開発環境の両方について テスト接続 をクリックし、接続ステータスが 接続可能 であることを確認します。

    重要
    • リソースグループがワークスペースに関連付けられており、パブリックネットワークアクセスが設定されていることを確認してください。設定されていない場合、後続のデータ同期中にエラーが発生します。設定手順については、「環境の準備」をご参照ください。

    • 利用可能なリソースグループがない場合は、接続設定セクションの指示に従い、Go to Buy および 購入したリソースグループのバインド をクリックします。

  5. Complete Creation をクリックします。

HttpFile データソース (user_behavior_analysis_httpfile) の作成

このチュートリアルで使用するユーザーの Web サイトアクセスログデータは OSS に格納されています。OSS から MaxCompute にユーザーの Web サイトアクセスログ (user_log.txt) を同期するための HttpFile データソースを作成する必要があります。

  1. Management Center]ページで、左側のナビゲーションウィンドウにある[Data Source]をクリックします。

  2. Add Connection をクリックします。Add Connection ダイアログで、データソースタイプとして [Httpfile] を検索して選択します。

  3. [Httpfile データソースの作成] ページでパラメーターを設定します。このチュートリアルでは、開発環境と本番環境の両方で同じサンプル値を使用します。

    以下の表は、このチュートリアルで必要な主なパラメーターを示しています。その他のパラメーターはデフォルト値のままにしてください。

    パラメーター

    説明

    Data Source Name

    データソース名を入力します。このチュートリアルでは、user_behavior_analysis_httpfile と入力します。

    Description

    DataWorks チュートリアル専用のデータソースです。バッチ同期タスクを設定する際に、プラットフォームが提供するテストデータを読み取ることができます。このデータソースは Data Integration シナリオでの読み取り操作のみをサポートしており、他のモジュールでは使用できません。

    URL

    開発環境および本番環境の両方で、URLhttps://dataworks-workshop-2024.oss-cn-shanghai.aliyuncs.com に設定します。

  4. 接続設定 セクションで、本番環境および開発環境の両方について テスト接続 をクリックし、接続ステータスが 接続可能 であることを確認します。

    重要
    • リソースグループがワークスペースに関連付けられており、パブリックネットワークアクセスが設定されていることを確認してください。設定されていない場合、後続のデータ同期中にエラーが発生します。設定手順については、「環境の準備」をご参照ください。

    • 利用可能なリソースグループがない場合は、接続設定セクションの指示に従い、Go to Buy および 購入したリソースグループのバインド をクリックします。

  5. Complete Creation をクリックします。

2. 同期パイプラインの構築

このステップでは、ユーザーの基本情報および Web サイトアクセスログデータを MaxCompute テーブルに同期する同期パイプラインを構築し、後続のデータ処理を行います。

  1. 左上隅の Icon アイコンをクリックし、[すべてのプロダクト] > データ開発と О&М > DataStudio (データ開発) を選択します。その後、ページ上部でこのチュートリアル用に作成したワークスペースに切り替えます。

  2. 左側のナビゲーションウィンドウで image をクリックしてデータ開発ページに移動します。Project Directory セクションで、image をクリックして Create Workflow を選択します。ワークフロー名を設定します。このチュートリアルでは、user_profile_analysis と設定します。

  3. ワークフロー オーケストレーションページで、New Node をクリックし、右側のキャンバスに Zero-Load Node および Data Integration ノードをドラッグします。Data Integration ノードを次のように設定します。

    • Data Source Type:MySQL。

    • Data destination type:MaxCompute。

    • Specific Type:単一テーブル バッチ同期。

    ノード名を設定します。以下の表は、このチュートリアルでのサンプルノード名とその目的を示しています。

    ノードタイプ

    ノード名

    目的

    image仮想ノード

    workshop_start

    ユーザー プロファイル分析ワークフロー全体を管理し、データフロー経路を明確にするために使用されます。このノードは 空の実行中のタスク であり、コードは不要です。

    imageバッチ同期ノード

    ods_user_info_d

    MySQL から MaxCompute の ods_user_info_d テーブルに基本的なユーザー情報を同期するために使用されます。

    imageバッチ同期ノード

    ods_raw_log_d

    OSS から MaxCompute の ods_raw_log_d テーブルにユーザーの Web サイトアクセスログを同期するために使用されます。

  4. 手動で接続をドラッグし、workshop_start ノードを 2 つのバッチ同期ノードの上流ノードに設定します。最終的な結果は次のとおりです。

  5. ワークフローのスケジューリングを設定します。

    ワークフロー オーケストレーションページの右側で、Scheduling Configuration をクリックし、パラメーターを設定します。以下の表は、このチュートリアルで必要な主なパラメーターを示しています。その他のパラメーターはデフォルト値のままにしてください。

    スケジュール設定パラメーター

    説明

    Scheduling Parameters

    ワークフロー全体のスケジューリングパラメーターを設定します。ワークフロー内の内部ノードはこれを直接使用できます。このチュートリアルでは、前日の日付を取得するために bizdate=$[yyyymmdd-1] と設定します。

    Scheduling period

    このチュートリアルでは、Day に設定します。

    Scheduling time

    このチュートリアルでは、Scheduling time00:30 に設定します。ワークフローは毎日 00:30 に実行されます。

    ノード依存関係の設定

    ワークフローには上流依存関係がないため、設定は不要です。管理を容易にするために、Using the Workspace Root Node をクリックして、ワークフローをワークスペースルートノード配下にマウントできます。

    ワークスペースルートノードの名前は、ワークスペース名_root の形式になります。

3. 同期タスクの設定

初期ノードの設定

  1. ワークフロー オーケストレーションページで、workshop_start ノードにカーソルを合わせ、Open Node をクリックします。

  2. workshop_start ノード編集ページの右側で、Scheduling Configuration をクリックし、パラメーターを設定します。以下の表は、このチュートリアルで必要な主なパラメーターを示しています。その他のパラメーターはデフォルト値のままにしてください。

    スケジュール設定パラメーター

    説明

    Scheduling Type

    このチュートリアルでは、Dry Run に設定します。

    Resource Group

    このチュートリアルでは、「環境の準備」ステップで作成したサーバーレスリソースグループを選択します。

    ノード依存関係の設定

    workshop_start は初期ノードであり、上流依存関係がないため、Using the Workspace Root Node をクリックして、ワークスペースルートノードからワークフローの実行をトリガーできます。

    ワークスペースルートノードの名前は、ワークスペース名_root です。

ユーザー データ同期パイプライン (ods_user_info_d) の設定

  1. ワークフロー オーケストレーションページで、ods_user_info_d ノードにカーソルを合わせ、Open Node をクリックします。

  2. 同期パイプラインのネットワークおよびリソースを設定します。

    パラメーター

    説明

    Data source

    • データソース:MySQL

    • データソース名:user_behavior_analysis_mysql

    My Resource Group

    環境の準備」ステップで購入したサーバーレスリソースグループを選択します。

    Data going

    • データ送信先:MaxCompute(ODPS)

    • データソース名:「環境の準備」ステップで関連付けた MaxCompute 計算リソースを選択します。この例では、MaxCompute_Source です。

  3. 次のステップ をクリックして、同期タスクを設定します。

    1. Configure Source and Destination

      以下の表は、このチュートリアルで必要な主なパラメーターを示しています。その他のパラメーターはデフォルト値のままにしてください。

      セクション

      パラメーター

      説明

      Data source

      Table

      ods_user_info_d を選択します。

      Shard Key

      分割キーを uid 列に設定します。uid 列は MySQL の ods_user_info_d テーブルのプライマリキーです。

      Data going

      Tunnel Resource Group

      このチュートリアルのデフォルト値は パブリック転送リソース です。専用トンネルクォータをお持ちの場合は、ドロップダウンリストから選択できます。専用トンネルクォータの詳細については、「トンネルクォータ」をご参照ください。

      Table

      Generate Destination Table Schema をクリックして、MaxCompute テーブルを迅速に作成します。以下の DDL ステートメントを テーブル構築ステートメント セクションに貼り付け、New Table をクリックします。このテーブルは、ソースからのユーザー データを受信するために使用されます。

      CREATE TABLE IF NOT EXISTS ods_user_info_d (
       uid STRING COMMENT 'User ID',
       gender STRING COMMENT 'Gender',
       age_range STRING COMMENT 'Age range',
       zodiac STRING COMMENT 'Zodiac sign'
      )
      PARTITIONED BY (
       dt STRING
      )
      LIFECYCLE 7;

      Partition Information

      このチュートリアルでは、${bizdate} と入力します。これは、デバッグ中に bizdate パラメーターに定数値を割り当て、スケジュール実行中に bizdate パラメーターに動的値を割り当てるために使用されます。Data Studio でサポートされている変数形式および設定方法の詳細については、「スケジューリングパラメーター」をご参照ください。

    2. Field Mapping および Channel を確認します。

      DataWorks は、ソースと送信先の間でカラムをマッピングし、指定されたソースカラムから指定された送信先カラムにデータを書き込みます。また、タスクの同時実行数およびダーティデータ処理ポリシーの設定もサポートしています。このチュートリアルでは、Policy for Dirty Data RecordsDisallow Dirty Data Records に設定し、その他の設定はデフォルトのままにしてください。詳細については、「チャンネル制御の設定」をご参照ください。

  4. デバッグパラメーターを設定します。

    バッチ同期タスク設定ページの右側で、Run Configuration をクリックし、以下のパラメーターを設定します。これらのパラメーターは、ステップ 4Run Configuration パラメーターを使用してデバッグする際に使用されます。

    パラメーター

    説明

    Resource Group

    環境の準備」ステップで購入したサーバーレスリソースグループを選択します。

    Script Parameters

    設定は不要です。このチュートリアルのサンプルコードでは、${bizdate} を使用してビジネス日付を表します。ステップ 4 でワークフローをデバッグする際には、This operation value を特定の定数(例:20250223)に設定します。タスクは実行時にこの定数を使用して、タスク内で定義された変数を置き換えます。

  5. (オプション)スケジュール設定を構成します。

    このチュートリアルでは、スケジュール設定をデフォルト値のままにしてください。バッチ同期タスク設定ページの右側で、Scheduling Configuration をクリックできます。スケジュール設定パラメーターの詳細な説明については、「スケジュール設定」をご参照ください。

    • Scheduling Parameters:このチュートリアルでは、すでにワークフローレベルで設定されています。ワークフロー内の内部ノードは個別に設定する必要がなく、タスクまたはコード内で直接使用できます。

    • Scheduling Policy:ワークフロー開始後に子ノードの実行を遅延させるために、Delayed execution time パラメーターを指定できます。このチュートリアルでは、未設定のままにしてください。

  6. ノードツールバーで、Save をクリックします。

ユーザー ログ同期パイプライン (ods_raw_log_d) の設定

  1. ワークフロー オーケストレーションページで、ods_raw_log_d ノードにカーソルを合わせ、Open Node をクリックします。

  2. 同期パイプラインのネットワークおよびリソースを設定します。

    パラメーター

    説明

    Data source

    • データソース:HttpFile

    • データソース名:user_behavior_analysis_httpfile

    My Resource Group

    環境の準備」ステップで購入したサーバーレスリソースグループを選択します。

    Data going

    • データ送信先:MaxCompute(ODPS)

    • データソース名:「環境の準備」ステップで関連付けた MaxCompute 計算リソースを選択します。この例では、MaxCompute_Source です。

  3. 次のステップ をクリックして、同期タスクを設定します。

    • Configure Source and Destination

      以下の表は、このチュートリアルで必要な主なパラメーターを示しています。その他のパラメーターはデフォルト値のままにしてください。

      セクション

      パラメーター

      説明

      Data source

      File Path

      このチュートリアルでは、/user_log.txt と入力します。

      File Type

      このチュートリアルでは、text タイプを選択します。

      Field Delimiter

      このチュートリアルでは、| と入力します。

      Advanced Configuration > Skip Header

      このチュートリアルでは、ヘッダーをスキップしないように いいえ を選択します。

      重要

      データソースを設定したら、Confirm Data Structure をクリックして、ログファイルが正しく読み取れることを検証します。

      Data going

      Tunnel Resource Group

      このチュートリアルのデフォルト値は パブリック転送リソース です。専用トンネルクォータをお持ちの場合は、ドロップダウンリストから選択できます。専用トンネルクォータの詳細については、「トンネルクォータ」をご参照ください。

      Table

      Generate Destination Table Schema をクリックして、MaxCompute テーブルを迅速に作成します。以下の DDL ステートメントを テーブル構築ステートメント セクションに貼り付け、New Table をクリックします。このテーブルは、ソースからのユーザー ログデータを受信するために使用されます。

      CREATE TABLE IF NOT EXISTS ods_raw_log_d
      (
          col STRING
      )
      PARTITIONED BY
      (
          dt STRING
      )
      LIFECYCLE 7;

      Partition Information

      このチュートリアルでは、${bizdate} と入力します。これは、デバッグ中に bizdate パラメーターに定数値を割り当て、スケジュール実行中に bizdate パラメーターに動的値を割り当てるために使用されます。Data Studio でサポートされている変数形式および設定方法の詳細については、「スケジューリングパラメーター」をご参照ください。

    • Field Mapping および Channel を確認します。

      DataWorks は、ソースと送信先の間でカラムをマッピングし、指定されたソースカラムから指定された送信先カラムにデータを書き込みます。また、タスクの同時実行数およびダーティデータ処理ポリシーの設定もサポートしています。このチュートリアルでは、Policy for Dirty Data RecordsDisallow Dirty Data Records に設定し、その他の設定はデフォルトのままにしてください。詳細については、「チャンネル制御の設定」をご参照ください。

  4. デバッグパラメーターを設定します。

    バッチ同期タスク設定ページの右側で、Run Configuration をクリックし、以下のパラメーターを設定します。これらのパラメーターは、ステップ 4Run Configuration パラメーターを使用してデバッグする際に使用されます。

    パラメーター

    説明

    Resource Group

    環境の準備」ステップで購入したサーバーレスリソースグループを選択します。

    Script Parameters

    設定は不要です。このチュートリアルのサンプルコードでは、${bizdate} を使用してビジネス日付を表します。ステップ 4 でワークフローをデバッグする際には、This operation value を特定の定数(例:20250223)に設定します。タスクは実行時にこの定数を使用して、タスク内で定義された変数を置き換えます。

  5. (オプション)スケジュール設定を構成します。

    このチュートリアルでは、スケジュール設定をデフォルト値のままにしてください。バッチ同期タスク設定ページの右側で、Scheduling Configuration をクリックできます。スケジュール設定パラメーターの詳細な説明については、「スケジュール設定」をご参照ください。

    • Scheduling Parameters:このチュートリアルでは、すでにワークフローレベルで設定されています。ワークフロー内の内部ノードは個別に設定する必要がなく、タスクまたはコード内で直接使用できます。

    • Scheduling Policy:ワークフロー開始後に子ノードの実行を遅延させるために、Delayed execution time パラメーターを指定できます。このチュートリアルでは、未設定のままにしてください。

  6. ノードツールバーで、Save をクリックします。

ステップ 4:データ同期

  1. データを同期します。

    ワークフローツールバーで、Run をクリックします。今回の実行のために各ノードで定義されたパラメーター変数の値を設定します(このチュートリアルでは 20250223 を使用します。必要に応じて変更できます)。OK をクリックし、実行が完了するまで待ちます。

  2. データ同期の結果を確認します。

    1. Data Studio の左側のナビゲーションウィンドウで、image をクリックしてデータ開発ページに移動します。個人ディレクトリセクションで、image をクリックして .sql 拡張子を持つファイルを作成します(ファイル名は任意で設定できます)。

    2. ページ下部で、言語モードが以下のように MaxCompute SQL に設定されていることを確認します。image

    3. ノード編集ウィンドウで、以下の SQL ステートメントを入力して、ods_raw_log_d テーブルおよび ods_user_info_d テーブルにインポートされたレコード数を確認し、同期されたデータが送信先に書き込まれていることを確認します。

      -- 実際の操作におけるビジネス日付に合わせて、パーティションのフィルター条件を変更する必要があります。このチュートリアルでは、上記で設定したデバッグパラメーター bizdate(ビジネス日付)が 20250223 です。
      SELECT count(*) FROM ods_user_info_d WHERE dt='business date'; 
      SELECT count(*) FROM ods_raw_log_d WHERE dt='business date';
      • 上記のクエリがデータを返した場合、データ同期は完了しています。

      • データが返されない場合は、ワークフロー実行時に設定した This operation value が、クエリ内の dt で指定されたビジネス日付と一致していることを確認してください。ワークフローをクリックし、右側の Runtime Logs をクリックし、実行履歴の Operation 列の View をクリックして、ワークフロー ランタイムログ内のビジネス日付値(partition=[pt=xxx])を確認できます。

次のステップ

データ同期の設定が完了したら、次のチュートリアルに進んで、同期されたデータの処理および分析方法を学習できます。詳細については、「データ処理」をご参照ください。