全部產品
Search
文件中心

DataWorks:同步資料

更新時間:Feb 15, 2026

本文將介紹如何建立HttpFile和MySQL資料來源以訪問使用者資訊和網站日誌資料,配置資料同步鏈路將這些資料同步到在環境準備階段建立的OSS儲存中,並通過建立EMR Hive外表解析OSS中儲存的資料。通過查詢驗證資料同步結果,確認是否完成整個資料同步操作。

前提條件

  • 開始本文的操作前,請準備好需要使用的環境。詳情請參見準備環境

  • 為確保網路互連,請在ECS管理主控台為您所建立的EMR叢集綁定的安全性群組添加安全性群組規則,開放ECS入方向的10000連接埠,設定授權對象為資源群組VPC的交換器網段。詳情請參見添加安全性群組規則

一、建立資料來源

為確保後續資料處理流程的順利進行,您需要在DataWorks工作空間中綁定如下資料來源,用於擷取和儲存測試資料。

  • MySQL資料來源:DataWorks平台提供的用於儲存使用者基本資料的測試資料來源。

  • Httpfile資料來源:DataWorks平台提供的用於儲存使用者網站訪問記錄的測試資料來源。

  • OSS資料來源:您在EMR環境準備中建立的EMR OSS-HDFS儲存。用於儲存從MySQL資料來源和HTTP檔案資料來源同步的使用者基本資料及使用者網站訪問記錄的測試資料。

建立MySQL資料來源(user_behavior_analysis_mysql

本教程提供的使用者基本資料儲存在MySQL資料庫中,您需要建立MySQL資料來源,擷取MySQL資料庫中的使用者基本資料資料(ods_user_info_d)。

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

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

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

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

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

    參數

    描述

    資料來源名稱

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

    資料來源描述

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

    配置模式

    選擇串連串模式

    串連地址

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

    • 連接埠號碼:3306

    資料庫名稱

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

    使用者名稱

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

    密碼

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

    認證選項

    無認證。

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

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

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

  6. 單擊完成建立

建立HttpFile資料來源(user_behavior_analysis_httpfile

本教程提供的使用者網站訪問記錄資料存放區在DataWorks平台用於測試的OSS中,您需要建立Httpfile資料來源,擷取該OSS中的使用者網站訪問記錄(user_log.txt)。

  1. 進入資料來源頁面。

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

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

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

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

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

    參數

    描述

    資料來源名稱

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

    資料來源描述

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

    URL網域名稱

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

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

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

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

  5. 單擊完成建立

建立OSS資料來源(test_g)

您可以通過以下操作,將EMR環境準備中建立的OSS儲存添加到DataWorks平台,以便儲存從MySQL資料來源和HttpFile資料來源同步過來的資料。

說明

添加OSS資料來源時,確保當前帳號已授予AliyunOSSFullAccess(Object Storage Service)許可權。詳細操作,請參見查看RAM使用者的許可權管理RAM使用者的許可權

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

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

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

  4. 建立OSS資料來源頁面,配置各項參數。在本教程中開發環境生產環境都按如下樣本值填寫。

    參數

    描述

    資料來源名稱

    輸入資料來源的名稱,本樣本為test_g

    資料來源描述

    對資料來源進行簡單描述。

    訪問模式

    選擇Access Key模式

    AccessKey ID

    當前登入帳號的AccessKey ID。

    您可以登入DataWorks控制台,滑鼠移至上方至頂部功能表列右側的帳戶圖片,進入AccessKey管理,擷取具有許可權的RAM使用者AccessKey ID資訊。

    AccessKey Secret

    輸入當前登入帳號的AccessKey Secret。

    重要

    AccessKey Secret只在建立時顯示,不支援後續再次查看,請妥善保管。如果AccessKey泄露或丟失,請刪除並建立新的AccessKey

    地區

    選擇華東2(上海)地區。

    Endpoint

    輸入oss-cn-shanghai-internal.aliyuncs.com

    Bucket

    您準備環境時建立EMR叢集配置的OSS Bucket的名稱,樣本為dw-emr-demo

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

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

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

  6. 單擊完成建立

二、搭建同步鏈路

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

  1. 進入DataWorks工作空間列表頁,在頂部切換至目標地區,找到目標工作空間,單擊操作列的快速進入 > Data Studio,進入Data Studio。

  2. 在Data Studio頁面左側導覽列單擊image按鈕,進入資料開發頁面後,在左側分類樹中選擇專案目錄

  3. 建立目錄work和工作流程workshop_emr,詳情請參見專案目錄周期工作流程編排

  4. 單擊workshop_emr工作流程,進入工作流程編排頁面,建立虛擬節點單表離線EMR Hive節點

    1. 選擇通用 > 虛擬節點拖拽至右側的編輯頁面,在添加節點對話方塊中,輸入節點名稱workshop_start_emr後單擊確認

    2. 拖拽兩個Data Integration節點至右側的編輯頁面,在添加節點對話方塊中,分別輸入資料來源類型為MySQL、資料去向類型為OSS,具體類型為單表離線節點名稱分別為ods_user_info_d_2oss_emrods_raw_log_d_2oss_emr,用於將MySQL使用者資訊與HttpFile日誌資訊同步到您所建立的OSS中,最後單擊確認

    3. 拖拽兩個EMR > EMR Hive節點至右側的編輯頁面,在添加節點對話方塊中,分別輸入節點名稱ods_user_info_d_emrods_raw_log_d_emr,用於將您所建立的OSS中的資料載入到Hive表中,最後單擊確認

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

    節點類型

    節點名稱

    節點作用

    image虛擬節點

    workshop_start_emr

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

    image單表離線節點

    ods_user_info_d_2oss_emr

    用於將儲存於MySQL的使用者基本資料資料同步至您所建立的OSS資料來源(test_g)中。

    image單表離線節點

    ods_raw_log_d_2oss_emr

    用於將儲存於Httpfile資料來源(OSS)中的使用者網站訪問記錄同步至您所建立的OSS資料來源(test_g)中。

    imageEMR Hive節點

    ods_user_info_d_emr

    用於將儲存於您所建立OSS資料來源(test_g)中的使用者基本資料資料解析至Hive的ods_user_info_d_emr表。

    imageEMR Hive節點

    ods_raw_log_d_emr

    用於將儲存於您所建立OSS資料來源(test_g)中的使用者網站訪問記錄解析至Hive的ods_raw_log_d_emr表。

  5. 在工作流程開發面板,通過拖拽連線,將workshop_start_emr節點設定為兩個單表離線節點的上遊節點。最終效果如下:

    image

三、配置同步任務

您可以通過以下步驟將MySQL資料來源中的使用者資訊和HttpFile資料來源中的日誌資訊同步到您所建立的OSS中,並通過建立Hive外部表格來解析擷取該OSS中儲存的資料。

配置虛擬節點

您可根據以下操作進行虛擬節點的調度配置。

  1. 開啟虛擬節點。

    在工作流程編排頁面,滑鼠懸浮於虛擬節點上,單擊上方出現的開啟節點,進入虛擬節點編輯頁面。

  2. 配置虛擬節點。

    開啟節點右側的調度配置,配置以下參數資訊。

    參數

    說明

    調度資源群組

    選擇您在環境準備中建立的Serverless資源群組。

    節點依賴配置

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

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

  3. 儲存虛擬任務。

    配置完成後,單擊工具列中的image表徵圖儲存任務節點。

同步MySQL資料來源的使用者資訊至OSS資料來源

您可根據以下操作將MySQL資料來源中的使用者資訊同步到您所建立的OSS中。

  1. 開啟單表離線節點。

    在工作流程編排頁面,滑鼠懸浮於單表離線節點ods_user_info_d_2oss_emr上,單擊上方出現的開啟節點,進入任務配置介面。

  2. 資料來源與運行資源。

    參考以下參數資訊,完成資料來源與資源群組配置。

    參數

    描述

    來源

    • 資料來源MySQL

    • 資料來源名稱user_behavior_analysis_mysql

    去向

    • 資料去向OSS

    • 資料來源名稱:選擇前文建立的OSS資料來源,此處樣本為test_g

    運行資源

    請在資源群組選擇已購買的Serverless資源群組。

  3. 配置資料來源與去向。

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

      參數

      描述

      資料來源

      • :選擇資料來源中的ods_user_info_d

      • 切分鍵:建議使用主鍵或有索引的列作為切分鍵,僅支援類型為整型的欄位。此處設定切分鍵為uid

      資料去向

      • 文本類型:選擇text類型。

      • 檔案名稱(含路徑):根據您OSS的目錄進行輸入,樣本為ods_user_info_d/user_${bizdate}/user_${bizdate}.txt。其中ods_user_info_d為您OSS的目錄名,$bizdate表示擷取前一天的日期。

      • 資料行分隔符號:輸入資料行分隔符號為|

    2. 確認欄位對應進階配置

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

  4. 配置調試參數。

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

    配置項

    配置內容

    資源群組

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

    指令碼參數

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

  5. 儲存單表離線任務。

    配置完成後,單擊工具列中的image表徵圖儲存任務節點。

同步HttpFile資料來源的日誌資訊至OSS資料來源

您可根據以下操作將HttpFile資料來源中的日誌資訊同步到您所建立的OSS中。

  1. 開啟單表離線節點。

    在工作流程編排頁面,滑鼠懸浮於單表離線節點ods_raw_log_d_2oss_emr上,單擊上方出現的開啟節點,進入任務配置介面。

  2. 資料來源與運行資源。

    參考以下參數資訊,完成資料來源與資源群組配置。

    參數

    描述

    資料來源

    • 資料來源HttpFile

    • 資料來源名稱user_behavior_analysis_httpfile

    資料去向

    • 資料去向OSS

    • 資料來源名稱:選擇前文建立的OSS資料來源,此處樣本為test_g

    運行資源

    請在資源群組選擇已購買的Serverless資源群組。

  3. 配置資料來源與去向。

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

      參數

      描述

      來源

      • 檔案路徑/user_log.txt

      • 文本類型:選擇text類型。

      • 資料行分隔符號:輸入資料行分隔符號為|

      • 壓縮格式:包括None、Gzip、Bzip2和Zip四種類型,此處選擇None

      • 是否跳過表頭:選擇No。

      去向

      • 文本類型:選擇text類型。

      • 檔案名稱(含路徑):根據您OSS的目錄進行輸入,樣本為ods_raw_log_d/log_${bizdate}/log_${bizdate}.txt,其中ods_raw_log_d為您OSS的目錄名,$bizdate表示擷取前一天的日期。

      • 資料行分隔符號:輸入資料行分隔符號為|

    2. 配置調試參數。

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

      配置項

      配置內容

      資源群組

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

      指令碼參數

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

  4. 儲存單表離線任務。

    配置完成後,單擊工具列中的image表徵圖儲存任務節點。

四、解析OSS資料

等待單表離線任務運行完成,您可通過以下步驟,建立Hive外部表格,以解析您在test_g資料來源OSS中儲存的測試資料。

建立ods_user_info_d_emr表解析資料

  1. 開發代碼。

    在工作流程編排頁面,滑鼠懸浮於EMR Hive節點ods_user_info_d_emr上,單擊上方出現的開啟節點,進入EMR Hive節點編輯頁面。輸入以下樣本SQL語句。

    CREATE EXTERNAL TABLE IF NOT EXISTS ods_user_info_d_emr
    (
        `uid` STRING COMMENT '使用者ID',
        `gender` STRING COMMENT '性別',
        `age_range` STRING COMMENT '年齡段',
        `zodiac` STRING COMMENT '星座'
    ) PARTITIONED BY (
      dt STRING
    )
    ROW FORMAT  delimited fields terminated by '|'
    LOCATION 'oss://dw-emr-demo/ods_user_info_d/';
    
    ALTER TABLE ods_user_info_d_emr ADD IF NOT EXISTS PARTITION (dt='${bizdate}')
    LOCATION 'oss://dw-emr-demo/ods_user_info_d/user_${bizdate}/';
    說明

    上述代碼中的LOCATION為樣本路徑,與之前配置單表離線任務時的資料去向相同,需要輸入您建立的檔案路徑名稱,其中dw-emr-demo是您準備環境時建立的OSS Bucket名稱。

  2. 配置調試參數。

    配置頁面單擊右側調試配置,配置以下參數,用於在調試運行中使用調試配置的相關參數測試。

    配置項

    配置內容

    計算資源

    選擇準備環境階段綁定的EMR計算資源

    資源群組

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

    指令碼參數

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

  3. 配置完成後,您可單擊儲存節點。

建立ods_raw_log_d_emr表解析資料

  1. 開發代碼。

    在工作流程編排頁面,滑鼠懸浮於EMR Hive節點ods_raw_log_d_emr上,單擊上方出現的開啟節點,進入EMR Hive節點編輯頁面。輸入以下樣本SQL語句。

    --建立OSS日誌對應目標表
    CREATE EXTERNAL TABLE IF NOT EXISTS ods_raw_log_d_emr
    (
      `col` STRING
    ) PARTITIONED BY (
      dt STRING
    );
    ALTER TABLE ods_raw_log_d_emr ADD IF NOT EXISTS PARTITION (dt='${bizdate}')
    LOCATION 'oss://dw-emr-demo/ods_raw_log_d/log_${bizdate}/';
    說明

    上述代碼中的LOCATION為樣本路徑,與之前配置單表離線任務時的資料去向相同,需要輸入您建立的檔案路徑名稱,其中dw-emr-demo是您準備環境時建立的OSS Bucket名稱。

  2. 配置調試參數。

    配置頁面單擊右側調試配置,配置以下參數,用於在調試運行中使用調試配置的相關參數測試回合。

    配置項

    配置內容

    計算資源

    選擇準備環境階段綁定的EMR計算資源

    資源群組

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

    指令碼參數

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

  3. 儲存運行節點任務。

    配置完成後,您可單擊儲存和運行節點。

五、運行同步任務

  1. 工作流程調度配置。

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

    調度配置參數

    說明

    調度參數

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

    調度周期

    本教程配置為

    調度時間

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

    節點依賴配置

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

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

  2. 完成工作流程調度時間配置後,在Workflow畫布頂部工具列中,單擊運行,設定各節點定義的參數變數在本次運行中的取值(本教程使用20250223,您可以按需修改),單擊確定後,等待運行完成。

    • ods_raw_log_d_emr和ods_user_info_d_emr節點處於image.png狀態,即代表同步執行過程無問題。

    • ods_raw_log_d_emr和ods_user_info_d_emr節點處於image狀態,如出現java.net.ConnectException: Connection timed out (Connection timed out)報錯,您需在ECS管理主控台添加安全性群組規則,開放ECS的10000連接埠,設定授權對象為資源群組VPC的交換器網段。您可以在資源群組列表單擊對應資源群組的網路設定擷取交換器網段。關於如何添加安全性群組規則請參見添加安全性群組規則

說明

預計資料同步耗時較長,約24分鐘左右。

六、查詢資料同步結果

  1. 進入DataWorks工作空間列表頁,在頂部切換至目標地區,找到目標工作空間,單擊操作列的快速進入 > Data Studio,進入Data Studio。

  2. 在Data Studio一級功能入口單擊image,進入資料開發,在二級功能入口找到專案目錄地區。

  3. 按右鍵您所建立的work目錄,選擇建立節點... > EMR > EMR Hive,自訂EMR Hive節點名,單擊斷行符號完成節點的建立。

    進入EMR Hive節點編輯頁面,將下面指令碼中的業務日期替換為當前業務日期,確認同步資料寫入結果。分別查看匯入ods_raw_log_d_emr和ods_user_info_d_emr的記錄數。

    說明

    查詢語句中的分區列需要更新為業務日期。例如,任務啟動並執行日期為20250223,則業務日期為20250222,即任務運行日期的前一天。

    SELECT * FROM ods_user_info_d_emr WHERE dt=業務日期; 
    SELECT * FROM ods_raw_log_d_emr WHERE dt=業務日期; 
    • 上述命令查詢存在資料,即表示資料加工已完成。

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

後續步驟

現在,您已經學習了如何進行日誌資料同步,完成資料的同步,您可以繼續下一個教程。在該教程中,您將學習如何對同步的資料進行計算與分析。詳情請參見加工資料