本教程以MySQL中的使用者基本資料ods_user_info_d表和OSS中的網站訪問日誌資料user_log.txt檔案為例,通過Data Integration離線同步任務分別同步至MaxCompute的ods_user_info_d、ods_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。
進入資料來源頁面。
登入DataWorks控制台,切換至目標地區後,單擊左側導覽列的,在下拉框中選擇對應工作空間後單擊進入管理中心。
單擊左側導覽列的資料來源,進入資料來源頁面。
單擊新增資料來源,搜尋選擇資料來源類型為MySQL。
在建立MySQL資料來源頁面,配置相關參數。在本教程中開發環境和生產環境都按如下樣本值填寫。
以下為本教程所需配置的關鍵參數,未說明參數保持預設即可。
參數
描述
資料來源名稱
輸入資料來源名稱,本教程請填寫
user_behavior_analysis_mysql。資料來源描述
DataWorks案例體驗專用資料來源,在離線同步配置時讀取該資料來源即可訪問平台提供的測試資料,該資料來源只支援Data Integration情境讀取,其他模組不支援使用。
配置模式
選擇串連串模式。
串連地址
主機地址IP:
rm-bp1z69dodhh85z9qa.mysql.rds.aliyuncs.com連接埠號碼:
3306
資料庫名稱
輸入資料庫名,本教程請填寫
workshop。使用者名稱
輸入使用者名稱,本教程請填寫
workshop。密碼
輸入密碼,本教程請填寫
workshop#2017。認證選項
無認證。
在串連配置地區,分別單擊生產環境和開發環境的測試連通性,確保連通狀態為可連通。
重要需確保資源群組已綁定至工作空間,並配置了公網訪問能力,否則後續資料同步時將會報錯。配置步驟請參見準備環境。
如果您無可選的資源群組,可參考連結配置地區的說明提示,單擊前往購買和綁定已購資源群組。
單擊完成建立。
建立HttpFile資料來源(user_behavior_analysis_httpfile)
本教程提供的使用者網站訪問記錄資料存放區在OSS中,您需要建立Httpfile資料來源,以便在後續將OSS中的使用者網站訪問記錄(user_log.txt)同步至MaxCompute。
在管理中心頁面,單擊左側導覽列的資料來源。
單擊新增資料來源,在新增資料來源對話方塊中,搜尋選擇資料來源類型為HttpFile。
在建立HttpFile資料來源頁面,配置相關參數。在本教程中開發環境和生產環境都按如下樣本值填寫。
以下為本教程所需配置的關鍵參數,未說明參數保持預設即可。
參數
描述
資料來源名稱
輸入資料來源名稱,本教程請填寫
user_behavior_analysis_httpfile。資料來源描述
DataWorks案例體驗專用資料來源,在離線同步配置時讀取該資料來源即可訪問平台提供的測試資料,該資料來源只支援Data Integration情境讀取,其他模組不支援使用。
URL網域名稱
開發環境和生產環境的URL網域名稱均配置為
https://dataworks-workshop-2024.oss-cn-shanghai.aliyuncs.com。在串連配置地區,分別單擊生產環境和開發環境的測試連通性,確保連通狀態為可連通。
重要需確保資源群組已綁定至工作空間,並配置了公網訪問能力,否則後續資料同步時將會報錯。配置步驟請參見準備環境。
如果您無可選的資源群組,可參考連結配置地區的說明提示,單擊前往購買和綁定已購資源群組。
單擊完成建立。
二、搭建同步鏈路
本步驟需要搭建同步鏈路,將使用者基本資料資料和網站訪問記錄資料分別同步至MaxCompute的表中,為後續加工資料做準備。
單擊左上方的
表徵圖,選擇。然後在頁面頂部切換至本教程建立好的工作空間。在左側導覽列單擊
,進入資料開發頁面,然後在專案目錄地區,單擊
,選擇建立工作流程,設定工作流程名稱。本教程設定為user_profile_analysis。在工作流程編排頁面,從左側拖拽虛擬節點和離線同步節點至畫布中,分別設定節點名稱。
本教程節點名稱樣本及作用如下:
節點類型
節點名稱
節點作用
虛擬節點workshop_start用於統籌管理整個使用者Portrait analysis工作流程,可使資料流轉路徑更清晰。該節點為空跑任務,無須編輯代碼。
離線同步節點ods_user_info_d用於將儲存於MySQL的使用者基本資料資料同步至MaxCompute的
ods_user_info_d表。
離線同步節點ods_raw_log_d用於將儲存於OSS的使用者網站訪問記錄同步至MaxCompute的
ods_raw_log_d表。手動拖拽連線,將
workshop_start節點設定為兩個離線同步節點的上遊節點。最終效果如下:工作流程調度配置。
在工作流程編排頁面右側單擊調度配置,配置相關參數。以下為本教程所需配置的關鍵參數,未說明參數保持預設即可。
調度配置參數
說明
調度參數
為整個工作流程設定調度參數,工作流程中的內部節點可直接使用。本教程配置為
bizdate=$[yyyymmdd-1],擷取前一天的日期。調度周期
本教程配置為
日。調度時間
本教程配置調度時間為
00:30,該工作流程會在每日00:30啟動。節點依賴配置
Workflow無上遊依賴,可不配置。為了方便統一管理,您可以單擊使用工作空間根節點,將工作流程掛載到工作空間根節點下。
工作空間根節點命名格式為:
工作空間名_root。
三、配置同步任務
配置初始節點
在工作流程編排頁面中,滑鼠移至上方至
workshop_start節點上,單擊開啟節點。在
workshop_start節點編輯頁面右側單擊調度配置,配置相關參數。以下為本教程所需配置的關鍵參數,未說明參數保持預設即可。調度配置參數
說明
調度類型
本教程配置為
空跑調度。資源群組
本教程配置為準備環境階段建立的Serverless資源群組。
節點依賴配置
由於
workshop_start為初始節點,無上遊依賴,此時可以單擊使用工作空間根節點,由工作空間根節點觸發工作流程執行。工作空間根節點命名為:
工作空間名_root。
配置使用者資料同步鏈路(ods_user_info_d)
在工作流程編排頁面中,滑鼠移至上方至
ods_user_info_d節點上,單擊開啟節點。配置同步鏈路網路與資源。
參數
描述
資料來源
資料來源:
MySQL。資料來源名稱:
user_behavior_analysis_mysql。
我的資源群組
選擇準備環境階段購買的Serverless資源群組。
資料去向
資料去向:
MaxCompute(ODPS)。資料來源名稱:選擇準備環境階段綁定的MaxCompute計算資源,此處樣本為
MaxCompute_Source。
單擊下一步,配置同步任務。
配置資料來源與去向
以下為本教程所需配置的關鍵參數,未說明參數保持預設即可。
模組
配置項
配置說明
資料來源
表
選擇
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支援的變數格式及配置方法,請參見調度參數。確認欄位對應及通道控制。
DataWorks通過配置源端與目標端欄位對應關係,實現源端指定欄位資料寫入目標端指定欄位,同時支援設定任務並發數、髒資料策略等。本教程髒資料策略配置為不容忍髒資料,其他配置保持預設。更多資訊,請參見嚮導模式配置。
配置調試參數。
在離線同步任務配置頁面右側單擊調試配置,配置以下參數,用於在步驟四調試運行中使用調試配置的相關參數測試回合。
配置項
配置說明
資源群組
選擇準備環境階段購買的Serverless資源群組。
指令碼參數
無需配置。本教程提供的範例程式碼中統一使用
${bizdate}表示業務日期,在步驟四調試運行工作流程時,設定本次運行值為具體常量(例如20250223),任務運行將會使用此常量替換任務中定義的變數。(可選)配置調度屬性。
本教程調度配置相關參數保持預設即可,您可以在離線同步任務配置頁面右側單擊調度配置。調度配置中參數的詳細說明,詳情可參見節點調度配置。
調度參數:本教程已在工作流程調度參數中統一配置,工作流程內部節點無需配置,在任務或代碼中可直接使用。
調度策略:您可以在延時執行時間參數中指定子節點在工作流程執行後,延遲多久再執行,本教程不設定。
在節點工具列單擊儲存。
配置使用者日誌同步鏈路(ods_raw_log_d)
在工作流程編排頁面中,滑鼠移至上方至
ods_raw_log_d節點上,單擊開啟節點。配置同步鏈路網路與資源。
參數
描述
資料來源
資料來源:
HttpFile。資料來源名稱:
user_behavior_analysis_HttpFile。
我的資源群組
選擇準備環境階段購買的Serverless資源群組。
資料去向
資料去向:
MaxCompute(ODPS)。資料來源名稱:選擇準備環境階段綁定的MaxCompute計算資源,此處樣本為
MaxCompute_Source。
單擊下一步,配置同步任務。
配置資料來源與去向
以下為本教程所需配置的關鍵參數,未說明參數保持預設即可。
模組
配置項
配置說明
資料來源
檔案路徑
本教程填入
/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通過配置源端與目標端欄位對應關係,實現源端指定欄位資料寫入目標端指定欄位,同時支援設定任務並發數、髒資料策略等。本教程髒資料策略配置為不容忍髒資料,其他配置保持預設。更多資訊,請參見嚮導模式配置。
配置調試參數。
在離線同步任務配置頁面右側單擊調試配置,配置以下參數,用於在步驟四調試運行中使用調試配置的相關參數測試回合。
配置項
配置說明
資源群組
選擇準備環境階段購買的Serverless資源群組。
指令碼參數
無需配置。本教程提供的範例程式碼中統一使用
${bizdate}表示業務日期,在步驟四調試運行工作流程時,設定本次運行值為具體常量(例如20250223),任務運行將會使用此常量替換任務中定義的變數。(可選)配置調度屬性。
本教程調度配置相關參數保持預設即可,您可以在離線同步任務配置頁面右側單擊調度配置。調度配置中參數的詳細說明,詳情可參見節點調度配置。
調度參數:本教程已在工作流程調度參數中統一配置,工作流程內部節點無需配置,在任務或代碼中可直接使用。
調度策略:您可以在延時執行時間參數中指定子節點在工作流程執行後,延遲多久再執行,本教程不設定。
在節點工具列單擊儲存。
步驟四:同步資料
同步資料。
在工作流程工具列中,單擊運行,設定各節點定義的參數變數在本次運行中的取值(本教程使用
20250223,您可以按需修改),單擊確定後,等待運行完成。查詢資料同步結果。
在Data Studio左側導覽列單擊
,進入資料開發頁面,然後在個人目錄地區,單擊
,建立一個尾碼為.sql的檔案(檔案名稱自訂即可)。在頁面底部如下位置確認語言模式是否為
MaxCompute SQL。
在節點編輯視窗中輸入如下SQL語句,查看匯入
ods_raw_log_d和ods_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])。
後續步驟
完成資料的同步配置後,您可以繼續下一教程,學習如何對同步資料進行計算與分析。詳情請參見加工資料。