本文為您介紹如何建立HttpFile和MySQL資料來源來訪問本教程所提供的使用者資訊與網站日誌資料,配置資料同步鏈路至私人OSS資料來源,並通過EMR Hive節點建表查詢同步後的資料,完成資料同步的操作過程。
前提條件
步驟一:建立資料來源
根據本次實驗類比的情境,您需要建立以下三個資料來源,並將其註冊到DataWorks工作空間,才能進行後續操作。
HttpFile資料來源:用於訪問本教程提供的使用者訪問網站記錄資料。
MySQL資料來源:用於訪問本教程提供的使用者資訊資料。
OSS資料來源:用於接收來自HttpFile資料來源和MySQL資料來源所擷取的測試資料。
建立HttpFile資料來源
進入資料來源頁面。
登入DataWorks控制台,切換至目標地區後,單擊左側導覽列的,在下拉框中選擇對應工作空間後單擊進入管理中心。
進入工作空間管理中心頁面後,單擊左側導覽列的資料來源,進入資料來源頁面。
單擊新增資料來源,在新增資料來源對話方塊中,搜尋選擇資料來源類型為HttpFile。
在建立HttpFile資料來源頁面,配置各項參數。在本教程中開發環境和生產環境都按樣本值填寫。
參數
描述
資料來源名稱
輸入資料來源名稱,本教程請填寫user_behavior_analysis_httpfile。
資料來源描述
輸入DataWorks案例體驗專用資料來源,在離線同步配置時讀取該資料來源即可訪問平台提供的測試資料,該資料來源只支援Data Integration情境讀取,其他模組不支援使用。
URL網域名稱
開發環境和生產環境的URL網域名稱均為
https://dataworks-workshop-2024.oss-cn-shanghai.aliyuncs.com。單擊指定的資源群組連通狀態(開發環境)和連通狀態(生產環境)列的測試連通性,等待介面提示測試完成,連通狀態為可連通。
重要需確保至少一個資源群組為可連通狀態,否則此資料來源無法使用嚮導模式建立同步任務。
單擊完成建立。
建立MySQL資料來源
在管理中心頁面,單擊進入資料來源頁面後單擊新增資料來源。
在新增資料來源對話方塊中,搜尋選擇資料來源類型為MySQL。
在建立MySQL資料來源頁面,配置各項參數。在本教程中開發環境和生產環境都按樣本值填寫。
參數
描述
資料來源名稱
輸入資料來源名稱,本教程請填寫user_behavior_analysis_mysql。
資料來源描述
輸入DataWorks案例體驗專用資料來源,在離線同步配置時讀取該資料來源即可訪問平台提供的測試資料,該資料來源只支援Data Integration情境讀取,其他模組不支援使用。
配置模式
選擇串連串模式。
串連地址
主機地址IP:
rm-bp1z69dodhh85z9qa.mysql.rds.aliyuncs.com連接埠號碼:
3306
資料庫名稱
輸入資料庫名,本教程請填寫
workshop·使用者名稱
輸入使用者名稱,本教程請填寫workshop。
密碼
輸入密碼,本教程請填寫workshop#2017。
認證選項
無認證。
單擊指定的資源群組連通狀態(開發環境)和連通狀態(生產環境)列的測試連通性,等待介面提示測試完成,連通狀態為可連通。
單擊完成建立。
建立OSS資料來源
本次實驗將MySQL資料來源的使用者資訊和HttpFile資料來源的日誌資訊同步至OSS資料來源。
在管理中心頁面,單擊進入資料來源頁面後單擊新增資料來源。
在新增資料來源對話方塊中,搜尋選擇資料來源類型為OSS。
在建立OSS資料來源頁面,配置各項參數。在本教程中開發環境和生產環境都按樣本值填寫。
參數
描述
資料來源名稱
輸入資料來源的名稱,本樣本為test_g。
資料來源描述
對資料來源進行簡單描述。
訪問模式
選擇Access Key模式。
AccessKey ID
當前登入帳號的AccessKey ID,您可以進入AccessKey頁面複製AccessKey ID。
AccessKey Secret
輸入當前登入帳號的AccessKey Secret。
重要AccessKey Secret只在建立時顯示,不支援後續再次查看,請妥善保管。如果AccessKey泄露或丟失,請刪除並建立新的AccessKey。
Endpoint
輸入
http://oss-cn-shanghai-internal.aliyuncs.com。Bucket
您準備環境時建立EMR叢集配置的OSS Bucket的名稱,樣本為dw-emr-demo。
單擊指定資源群組連通狀態(開發環境)和連通狀態(生產環境)列的測試連通性,等待介面提示測試完成,連通狀態為可連通。
說明需確保至少一個資源群組為可連通狀態,否則此資料來源無法使用嚮導模式建立同步任務。
單擊完成建立。
步驟二:搭建同步鏈路
單擊左上方的
表徵圖,選擇。在資料開發面板,按右鍵商務程序,選擇建立商務程序。
在建立商務程序對話方塊中,輸入業務名稱為workshop_emr,然後單擊建立。
進入商務程序開發面板,建立虛擬節點和離線同步節點。
單擊建立節點,選擇虛擬節點拖拽至右側的編輯頁面。在建立節點對話方塊中,輸入節點名稱為workshop_start_emr,單擊確認。
單擊建立節點,選擇離線同步節點拖拽至右側的編輯頁面。節點名稱分別為ods_raw_log_d_2oss_emr和ods_user_info_d_2oss_emr,用於後續同步MySQL使用者資訊與HttpFile日誌資訊,最後單擊確認。
在商務程序開發面板,通過拖拽連線,將workshop_start_emr節點設定為兩個離線同步節點的上遊節點。

步驟三:配置同步任務
配置商務程序初始節點
在資料開發頁面,雙擊相應商務程序下的虛擬節點。開啟該節點的編輯頁面,單擊右側的調度配置。
配置調度配置。
調度配置
圖片展示
說明
調度時間配置

虛擬節點配置調度時間為00:30,該虛擬節點會在每日00:30啟動當前商務程序並執行。
設定重跑屬性為運行成功或失敗皆可重跑。
調度依賴配置

由於虛擬節點
workshop_start_emr無上遊依賴,此時可以直接依賴工作空間根節點,由工作空間根節點觸發workshop_start_emr節點執行。工作空間根節點命名為:
工作空間名_root。配置完成後,單擊左上方的
表徵圖。
配置離線同步節點
同步MySQL資料來源的使用者資訊至自建的OSS。
在資料開發頁面,雙擊ods_user_info_d_2oss_emr節點,進入節點配置頁面。
配置同步網路連結。
完成以下網路與資源配置後,單擊下一步,並根據介面提示完成連通性測試。
參數
描述
資料來源
資料來源:MySQL。
資料來源名稱:user_behavior_analysis_mysql。
我的資源群組
選擇已購買的Serverless資源群組。
資料去向
資料去向:OSS。
資料來源名稱:選擇前文建立的私人OSS資料來源,此處樣本為test_g。
配置同步任務。
參數
描述
資料來源
表:選擇資料來源中的ods_user_info_d。
切分鍵:建議使用主鍵或有索引的列作為切分鍵,僅支援類型為整型的欄位。此處設定切分鍵為uid。
資料去向
文本類型:選擇text類型。
檔案名稱(含路徑):根據您自建OSS的目錄進行輸入,樣本為ods_user_info_d/user_${bizdate}/user_${bizdate}.txt。其中ods_user_info_d為您自建的目錄名,$bizdate表示擷取前一天的日期。
資料行分隔符號:輸入資料行分隔符號為|。
配置調度配置。
配置頁面單擊右側調度配置,可進入調度配置面板配置調度與節點資訊。以下為配置的內容。
配置項
配置內容
圖示
調度參數
在調度參數地區添加:
參數名:bizdate
參數值:$[yyyymmdd-1]

時間屬性
設定重跑屬性為運行成功或失敗皆可重跑。

調度依賴
在調度依賴確認產出表已作為本節點輸出。
格式為
WorkSpaceName.節點名
配置完成後,單擊工具列中的
表徵圖。
同步HttpFile資料來源的日誌資訊至自建的OSS。
在資料開發頁面,雙擊ods_raw_log_d_2oss_emr節點,進入節點配置頁面。
配置同步網路連結。
完成以下網路與資源配置後,單擊下一步,並根據介面提示完成連通性測試。
參數
描述
資料來源
資料來源:HttpFile。
資料來源名稱:user_behavior_analysis_httpfile。
我的資源群組
選擇已購買的Serverless資源群組。
資料去向
資料去向:OSS。
資料來源名稱:選擇前文建立的私人OSS資料來源,此處樣本為test_g。
配置同步任務。
參數
描述
資料來源
檔案路徑:/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為您自建的目錄名,$bizdate表示擷取前一天的日期。
資料行分隔符號:輸入資料行分隔符號為|。
配置調度配置。
配置頁面單擊右側調度配置,可進入調度配置面板配置調度與節點資訊。以下為配置的內容。
配置項
配置內容
圖示
調度參數
在調度參數地區添加:
參數名:bizdate
參數值:$[yyyymmdd-1]

時間屬性
設定重跑屬性為運行成功或失敗皆可重跑。

調度依賴
在調度依賴確認產出表已作為本節點輸出。
格式為
WorkSpaceName.節點名
配置完成後,單擊工具列中的
表徵圖,進行儲存。
建立EMR表擷取同步資料
建立兩張表ods_user_info_d_emr和ods_raw_log_d_emr,分別用於查詢同步後的原始的MySQL使用者資料和OSS日誌資料。
在資料開發頁面開啟建立的商務程序,按右鍵EMR,選擇。
在建立節點對話方塊中,輸入節點名稱,單擊確認。
此處需要建立兩個EMR Hive節點(ods_user_info_d_emr和ods_raw_log_d_emr),用於建立對應的兩張表,並根據下圖,在商務程序開發面板通過拉線配置節點的上下遊依賴關係。

分別在EMR Hive節點中輸入建表語句,並在調度配置中調度資源群組選擇為已購買的Serverless資源群組,然後單擊儲存並運行各建表語句。
建立ods_user_info_d_emr表。
雙擊ods_user_info_d_emr節點,進入編輯頁面,編輯建立ods_user_info_d_emr表任務。
編輯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網域名稱。
配置調度配置。
配置項
配置內容
圖示
調度參數
在調度參數地區添加:
參數名:bizdate
參數值:$[yyyymmdd-1]

時間屬性
設定重跑屬性為運行成功或失敗皆可重跑。

調度依賴
在調度依賴確認產出表已作為本節點輸出。
格式為
WorkSpaceName.節點名
完成配置後,單擊
儲存節點。
建立ods_raw_log_d_emr表。
雙擊ods_raw_log_d_emr節點,編輯建立ods_raw_log_d_emr表任務。
編輯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的名稱。
配置調度配置。
配置項
配置內容
圖示
調度參數
在調度參數地區添加:
參數名:bizdate
參數值:$[yyyymmdd-1]

時間屬性
設定重跑屬性為運行成功或失敗皆可重跑。

調度依賴
在調度依賴確認產出表已作為本節點輸出。
格式為
WorkSpaceName.節點名
完成配置後,單擊
儲存節點。
步驟四:運行並查看結果
運行商務程序
在資料開發頁面,雙擊商務程序下的workshop_emr,開啟商務程序面板後,單擊工具列中的
表徵圖,按照上下遊依賴關係運行商務程序。確認執行情況。
查看任務運行狀態:
查看任務執行日誌:按右鍵ods_user_info_d_emr、ods_raw_log_d_emr節點,選擇查看日誌。當日誌中出現如下字樣,表示同步節點運行成功,並成功同步資料。

查詢同步結果
建立臨時查詢檔案
在資料開發頁面的左側導覽列,單擊
,進入臨時查詢面板。按右鍵臨時查詢,選擇建立節點>EMR Hive。查詢同步結果表。
執行如下SQL語句,確認同步資料寫入結果。查看匯入ods_raw_log_d_emr和ods_user_info_d_emr的記錄數。
--查詢語句中的分區列需要更新為業務日期。例如,任務啟動並執行日期為20191107,則業務日期為20191106,即任務運行日期的前一天。 SELECT * from ods_user_info_d_emr where dt=業務日期; SELECT * from ods_raw_log_d_emr where dt=業務日期;
後續步驟
現在,您已經學習了如何進行日誌資料同步,完成資料的同步,您可以繼續下一個教程。在該教程中,您將學習如何對同步的資料進行計算與分析。詳情請參見加工資料。
狀態,即代表同步執行過程無問題。
狀態,如出現