全部產品
Search
文件中心

DataWorks:同步資料

更新時間:Dec 11, 2025

本教程以MySQL中的使用者基本資料ods_user_info_d表和OSS中的網站訪問日誌資料user_log.txt檔案為例,通過Data Integration離線同步任務分別同步至MaxCompute的ods_user_info_dods_raw_log_d表。旨在介紹如何通過DataWorksData Integration實現異構資料來源間的資料同步,完成數倉資料同步操作。

前提條件

請確保已準備好所需的工作環境。具體操作步驟請參見:準備環境

一、建立資料來源

為確保後續資料處理流程的順利進行,您需要在DataWorks工作空間中建立如下資料來源,用於擷取平台提供的初始資料。

  • MySQL資料來源:本教程將資料來源命名為user_behavior_analysis_mysql,用於擷取儲存在MySQL的使用者基本資料資料(ods_user_info_d)。

  • Httpfile資料來源:本教程將資料來源命名為user_behavior_analysis_httpfile,用於擷取儲存在OSS的使用者網站訪問記錄(user_log.txt)。

說明

如果您已經在體驗其他計算資源版本的使用者Portrait analysis案例時建立了MySQL和Httpfile資料來源,則可以跳過此步驟。

建立MySQL資料來源(user_behavior_analysis_mysql

本教程提供的使用者基本資料儲存在MySQL資料庫中,您需要建立MySQL資料來源,以便在後續將MySQL資料庫中的使用者基本資料資料(ods_user_info_d)同步至MaxCompute。

  1. 進入資料來源頁面。

    1. 登入DataWorks控制台,切換至目標地區後,單擊左側導覽列的更多 > 管理中心,在下拉框中選擇對應工作空間後單擊進入管理中心

    2. 單擊左側導覽列的資料來源,進入資料來源頁面。

  2. 單擊新增資料來源,搜尋選擇資料來源類型為MySQL

  3. 建立MySQL資料來源頁面,配置相關參數。在本教程中開發環境和生產環境都按如下樣本值填寫。

    以下為本教程所需配置的關鍵參數,未說明參數保持預設即可。

    參數

    描述

    資料來源名稱

    輸入資料來源名稱,本教程請填寫user_behavior_analysis_mysql

    資料來源描述

    DataWorks案例體驗專用資料來源,在離線同步配置時讀取該資料來源即可訪問平台提供的測試資料,該資料來源只支援Data Integration情境讀取,其他模組不支援使用。

    配置模式

    選擇串連串模式

    串連地址

    • 主機地址IP:rm-bp1z69dodhh85z9qa.mysql.rds.aliyuncs.com

    • 連接埠號碼:3306

    資料庫名稱

    輸入資料庫名,本教程請填寫workshop

    使用者名稱

    輸入使用者名稱,本教程請填寫workshop

    密碼

    輸入密碼,本教程請填寫workshop#2017

    認證選項

    無認證。

  4. 串連配置地區,分別單擊生產環境和開發環境的測試連通性,確保連通狀態為可連通

    重要
    • 需確保資源群組已綁定至工作空間,並配置了公網訪問能力,否則後續資料同步時將會報錯。配置步驟請參見準備環境

    • 如果您無可選的資源群組,可參考連結配置地區的說明提示,單擊前往購買綁定已購資源群組

  5. 單擊完成建立

建立HttpFile資料來源(user_behavior_analysis_httpfile

本教程提供的使用者網站訪問記錄資料存放區在OSS中,您需要建立Httpfile資料來源,以便在後續將OSS中的使用者網站訪問記錄(user_log.txt)同步至MaxCompute。

  1. 管理中心頁面,單擊左側導覽列的資料來源

  2. 單擊新增資料來源,在新增資料來源對話方塊中,搜尋選擇資料來源類型為HttpFile

  3. 建立HttpFile資料來源頁面,配置相關參數。在本教程中開發環境和生產環境都按如下樣本值填寫。

    以下為本教程所需配置的關鍵參數,未說明參數保持預設即可。

    參數

    描述

    資料來源名稱

    輸入資料來源名稱,本教程請填寫user_behavior_analysis_httpfile

    資料來源描述

    DataWorks案例體驗專用資料來源,在離線同步配置時讀取該資料來源即可訪問平台提供的測試資料,該資料來源只支援Data Integration情境讀取,其他模組不支援使用。

    URL網域名稱

    開發環境和生產環境的URL網域名稱均配置為https://dataworks-workshop-2024.oss-cn-shanghai.aliyuncs.com

  4. 串連配置地區,分別單擊生產環境和開發環境的測試連通性,確保連通狀態為可連通

    重要
    • 需確保資源群組已綁定至工作空間,並配置了公網訪問能力,否則後續資料同步時將會報錯。配置步驟請參見準備環境

    • 如果您無可選的資源群組,可參考連結配置地區的說明提示,單擊前往購買綁定已購資源群組

  5. 單擊完成建立

二、搭建同步鏈路

本步驟需要搭建同步鏈路,將使用者基本資料資料和網站訪問記錄資料分別同步至MaxCompute的表中,為後續加工資料做準備。

  1. 單擊左上方的表徵圖表徵圖,選擇全部產品 > 資料開發與營運 > DataStudio(資料開發)。然後在頁面頂部切換至本教程建立好的工作空間。

  2. 在左側導覽列單擊image,進入資料開發頁面,然後在專案目錄地區,單擊image,選擇建立工作流程,設定工作流程名稱。本教程設定為user_profile_analysis

  3. 在工作流程編排頁面,從左側拖拽虛擬節點離線同步節點至畫布中,分別設定節點名稱。

    本教程節點名稱樣本及作用如下:

    節點類型

    節點名稱

    節點作用

    image虛擬節點

    workshop_start

    用於統籌管理整個使用者Portrait analysis工作流程,可使資料流轉路徑更清晰。該節點為空跑任務,無須編輯代碼。

    image離線同步節點

    ods_user_info_d

    用於將儲存於MySQL的使用者基本資料資料同步至MaxCompute的ods_user_info_d表。

    image離線同步節點

    ods_raw_log_d

    用於將儲存於OSS的使用者網站訪問記錄同步至MaxCompute的ods_raw_log_d表。

  4. 手動拖拽連線,將workshop_start節點設定為兩個離線同步節點的上遊節點。最終效果如下:

  5. 工作流程調度配置。

    在工作流程編排頁面右側單擊調度配置,配置相關參數。以下為本教程所需配置的關鍵參數,未說明參數保持預設即可。

    調度配置參數

    說明

    調度參數

    為整個工作流程設定調度參數,工作流程中的內部節點可直接使用。本教程配置為bizdate=$[yyyymmdd-1],擷取前一天的日期。

    調度周期

    本教程配置為

    調度時間

    本教程配置調度時間00:30,該工作流程會在每日00:30啟動。

    節點依賴配置

    Workflow無上遊依賴,可不配置。為了方便統一管理,您可以單擊使用工作空間根節點,將工作流程掛載到工作空間根節點下。

    工作空間根節點命名格式為:工作空間名_root

三、配置同步任務

配置初始節點

  1. 在工作流程編排頁面中,滑鼠移至上方至workshop_start節點上,單擊開啟節點

  2. workshop_start節點編輯頁面右側單擊調度配置,配置相關參數。以下為本教程所需配置的關鍵參數,未說明參數保持預設即可。

    調度配置參數

    說明

    調度類型

    本教程配置為空跑調度

    資源群組

    本教程配置為準備環境階段建立的Serverless資源群組。

    節點依賴配置

    由於workshop_start為初始節點,無上遊依賴,此時可以單擊使用工作空間根節點,由工作空間根節點觸發工作流程執行。

    工作空間根節點命名為:工作空間名_root

配置使用者資料同步鏈路(ods_user_info_d)

  1. 在工作流程編排頁面中,滑鼠移至上方至ods_user_info_d節點上,單擊開啟節點

  2. 配置同步鏈路網路與資源。

    參數

    描述

    資料來源

    • 資料來源:MySQL

    • 資料來源名稱:user_behavior_analysis_mysql

    我的資源群組

    選擇準備環境階段購買的Serverless資源群組。

    資料去向

    • 資料去向:MaxCompute(ODPS)

    • 資料來源名稱:選擇準備環境階段綁定的MaxCompute計算資源,此處樣本為MaxCompute_Source

  3. 單擊下一步,配置同步任務。

    1. 配置資料來源與去向

      以下為本教程所需配置的關鍵參數,未說明參數保持預設即可。

      模組

      配置項

      配置說明

      資料來源

      選擇ods_user_info_d

      切分鍵

      此處配置切分鍵為uid欄位。uid欄位是MySQL的ods_user_info_d表中的主鍵。

      資料去向

      Tunnel資源群組

      本教程預設為公用傳輸資源,若您擁有獨享Tunnel Quota,可下拉選擇。獨享Tunnel Quota的更多資訊,請參見購買與使用獨享Data Transmission Service資源群組

      單擊一鍵產生目標表結構快速建立MaxCompute表。將如下建表語句粘貼至建表語句地區,單擊建立表。該表用於接收資料來源端的使用者資料。

      CREATE TABLE IF NOT EXISTS ods_user_info_d (
       uid STRING COMMENT '使用者ID',
       gender STRING COMMENT '性別',
       age_range STRING COMMENT '年齡段',
       zodiac STRING COMMENT '星座'
      )
      PARTITIONED BY (
       dt STRING
      )
      LIFECYCLE 7;

      分區資訊

      本教程填入${bizdate},用於在後續測試階段為bizdate參數賦值常量,在調度執行時為bizdate參數動態賦值。Data Studio支援的變數格式及配置方法,請參見調度參數

    2. 確認欄位對應通道控制

      DataWorks通過配置源端與目標端欄位對應關係,實現源端指定欄位資料寫入目標端指定欄位,同時支援設定任務並發數、髒資料策略等。本教程髒資料策略配置為不容忍髒資料,其他配置保持預設。更多資訊,請參見嚮導模式配置

  4. 配置調試參數。

    在離線同步任務配置頁面右側單擊調試配置,配置以下參數,用於在步驟四調試運行中使用調試配置的相關參數測試回合。

    配置項

    配置說明

    資源群組

    選擇準備環境階段購買的Serverless資源群組。

    指令碼參數

    無需配置。本教程提供的範例程式碼中統一使用${bizdate}表示業務日期,在步驟四調試運行工作流程時,設定本次運行值為具體常量(例如20250223),任務運行將會使用此常量替換任務中定義的變數。

  5. (可選)配置調度屬性。

    本教程調度配置相關參數保持預設即可,您可以在離線同步任務配置頁面右側單擊調度配置。調度配置中參數的詳細說明,詳情可參見節點調度配置

    • 調度參數:本教程已在工作流程調度參數中統一配置,工作流程內部節點無需配置,在任務或代碼中可直接使用。

    • 調度策略:您可以在延時執行時間參數中指定子節點在工作流程執行後,延遲多久再執行,本教程不設定。

  6. 在節點工具列單擊儲存

配置使用者日誌同步鏈路(ods_raw_log_d)

  1. 在工作流程編排頁面中,滑鼠移至上方至ods_raw_log_d節點上,單擊開啟節點

  2. 配置同步鏈路網路與資源。

    參數

    描述

    資料來源

    • 資料來源:HttpFile

    • 資料來源名稱:user_behavior_analysis_HttpFile

    我的資源群組

    選擇準備環境階段購買的Serverless資源群組。

    資料去向

    • 資料去向:MaxCompute(ODPS)

    • 資料來源名稱:選擇準備環境階段綁定的MaxCompute計算資源,此處樣本為MaxCompute_Source

  3. 單擊下一步,配置同步任務。

    • 配置資料來源與去向

      以下為本教程所需配置的關鍵參數,未說明參數保持預設即可。

      模組

      配置項

      配置說明

      資料來源

      檔案路徑

      本教程填入/user_log.txt

      檔案類型

      本教程選擇text類型。

      資料行分隔符號

      本教程填入|

      進階配置 > 是否跳過表頭

      本教程選擇No,不跳過表頭。

      重要

      配置資料來源完成後,需單擊確認表資料結構,查看是否能正常讀取到記錄檔。

      資料去向

      Tunnel資源群組

      本教程預設為公用傳輸資源,若您擁有獨享Tunnel Quota,可下拉選擇。獨享Tunnel Quota的更多資訊,請參見購買與使用獨享Data Transmission Service資源群組

      單擊一鍵產生目標表結構快速建立MaxCompute表。將如下建表語句粘貼至建表語句地區,單擊建立表。該表用於接收資料來源端的使用者日誌。

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

      分區資訊

      本教程填入${bizdate},用於在後續測試階段為bizdate參數賦值常量,在調度執行時為bizdate參數動態賦值。Data Studio支援的變數格式及配置方法,請參見調度參數

    • 確認欄位對應通道控制

      DataWorks通過配置源端與目標端欄位對應關係,實現源端指定欄位資料寫入目標端指定欄位,同時支援設定任務並發數、髒資料策略等。本教程髒資料策略配置為不容忍髒資料,其他配置保持預設。更多資訊,請參見嚮導模式配置

  4. 配置調試參數。

    在離線同步任務配置頁面右側單擊調試配置,配置以下參數,用於在步驟四調試運行中使用調試配置的相關參數測試回合。

    配置項

    配置說明

    資源群組

    選擇準備環境階段購買的Serverless資源群組。

    指令碼參數

    無需配置。本教程提供的範例程式碼中統一使用${bizdate}表示業務日期,在步驟四調試運行工作流程時,設定本次運行值為具體常量(例如20250223),任務運行將會使用此常量替換任務中定義的變數。

  5. (可選)配置調度屬性。

    本教程調度配置相關參數保持預設即可,您可以在離線同步任務配置頁面右側單擊調度配置。調度配置中參數的詳細說明,詳情可參見節點調度配置

    • 調度參數:本教程已在工作流程調度參數中統一配置,工作流程內部節點無需配置,在任務或代碼中可直接使用。

    • 調度策略:您可以在延時執行時間參數中指定子節點在工作流程執行後,延遲多久再執行,本教程不設定。

  6. 在節點工具列單擊儲存

步驟四:同步資料

  1. 同步資料。

    在工作流程工具列中,單擊運行,設定各節點定義的參數變數在本次運行中的取值(本教程使用20250223,您可以按需修改),單擊確定後,等待運行完成。

  2. 查詢資料同步結果。

    1. 在Data Studio左側導覽列單擊image,進入資料開發頁面,然後在個人目錄地區,單擊image,建立一個尾碼為.sql的檔案(檔案名稱自訂即可)。

    2. 在頁面底部如下位置確認語言模式是否為MaxCompute SQLimage

    3. 在節點編輯視窗中輸入如下SQL語句,查看匯入ods_raw_log_dods_user_info_d的記錄數,確認同步資料是否寫入到目標端。

      -- 此處您需要修改分區過濾條件為您當前操作的實際業務日期。本教程中,前文配置的調試參數bizdate(業務日期)為20250223。
      SELECT count(*) FROM ods_user_info_d WHERE dt='業務日期'; 
      SELECT count(*) FROM ods_raw_log_d WHERE dt='業務日期';
      • 上述命令查詢存在資料,即表示同步資料已配置完成。

      • 如果沒有資料,請確保運行工作流程時,配置的本次運行值與此處查詢時dt指定的業務日期一致,您可以單擊工作流程,單擊右側的運行歷史,在運行記錄右側操作列單擊查看,然後在工作流程的作業記錄中確認運行工作流程時業務日期的取值(partition=[pt=xxx])。

後續步驟

完成資料的同步配置後,您可以繼續下一教程,學習如何對同步資料進行計算與分析。詳情請參見加工資料