本文以EMR Hive單表離線同步寫入MaxCompute情境為例,為您介紹OSS離線同步在資料來源配置、網路連通、同步任務配置方面的最佳實務。
背景資訊
Hive是基於Hadoop的一個資料倉儲工具,用來進行資料的提取、轉化、載入,可以儲存、查詢和分析儲存在Hadoop中的大規模資料。Hive資料倉儲工具能將結構化的資料檔案映射為一張資料庫表,並提供SQL查詢功能,能將SQL語句轉換成MapReduce任務來執行。Data Integration支援從Hive同步資料到其他目標端,也支援從其他目標端同步資料到Hive。
準備工作
已購買Serverless資源群組。
已建立Hive資料來源和MaxCompute資料來源,詳情請參見資料來源配置。
已完成資源群組與資料來源間的網路連通,詳情請參見網路連通方案概述。
說明如果您使用公網串連獨享資源群組和EMR,則EMR叢集安全性群組策略需要對獨享資源群組的EIP地址做相應的連接埠允許存取。安全性群組訪問規則的入方向允許允許存取EMR叢集訪問連接埠(一般包括10000、9093、8020等連接埠)。
使用限制
暫不支援將源端資料同步至MaxCompute外部表格。
操作步驟
一、建立節點與任務配置
對於通用的節點建立和嚮導配置步驟,本文將直接引用通用操作指南:嚮導模式配置,不再贅述。
二、配置資料來源與去向
配置資料來源(Hive)
本文檔將Hive資料單表離線同步至MaxCompute,資料來源為Hive表,關鍵配置參數如下。
配置項 | 配置要點 |
讀取Hive方法 |
說明 HDFS方式效率更高,JDBC方式會產生MapReduce程式,同步效率較低。注意HDFS方式同步不支援配置條件過濾、不支援閱讀檢視(VIEW)表,您可以根據自身需求選擇相應的同步方式。 |
表 | 選擇待同步的Hive表。建議對於要進行資料同步的表,Hive資料來源開發和生產環境應保證具有相同的表結構。 說明 此處會展示Hive資料來源開發環境的表列表和表結構,如果您的Hive資料來源開發和生產環境的表定義不同,則可能出現任務在開發環境配置正常但提交生產運行後報錯表不存在、列不存在的問題。 |
Parquet Schema | 如果Hive表格儲存體格式為Parquet格式,需要配置對應的Parquet Schema。 |
配置資料去向(MaxCompute)
本文檔將Hive資料單表離線同步至MaxCompute,資料去向為表,配置要點如下。
下表中未說明參數保持預設即可。
配置項 | 配置要點 |
Tunnel資源群組 | MaxCompute的資料轉送資源Tunnel Quota,預設選擇“公用傳輸資源”,即MC的免費quota。如果獨享Tunnel Quota因欠費或到期不可用,任務在運行中將會自動切換為“公用傳輸資源”。 |
表 | 選擇待同步的MaxCompute表。如果您使用的是標準類型的DataWorks工作空間,請確保在MaxCompute的開發環境和生產環境中存在同名且表結構一致的MaxCompute表。 您也可以單擊一鍵產生目標表結構,系統將自動建立表接收資料,支援手動調整建表語句。 說明 如果:
|
分區資訊 | 如果表為分區表,您可以填入分區列的取值。
|
寫入模式 | 寫入目標表時可選擇清理已有資料,或者保留已有資料。 |
三、任務配置與驗證
欄位對應:通常情況下,使用同名映射或同行映射即可滿足需求。若源端與目標端欄位順序或名稱不一致,可對映射關係進行手動調整。
通道控制:建議將髒資料策略設定為不容忍髒資料,以確保資料品質。其他參數在初期可保持預設。
四、調試配置並運行
單擊離線同步節點編輯頁面右側的調試配置,設定調試運行使用的資源群組和指令碼參數,然後單擊頂部工具列的運行,測試同步鏈路是否成功運行。
您可以在左側導覽列單擊
,然後單擊個人目錄右側的
,建立一個尾碼為.sql的檔案,執行如下SQL查詢資料去向表中的資料是否符合預期。說明此方式查詢需要將目標端MaxCompute綁定為DataWorks的計算資源。
您需要在
.sql檔案編輯頁面右側單擊調試配置,指定資料來源類型、計算資源、資源群組後,再單擊頂部工具列的運行。
SELECT * FROM <MaxCompute側目標表名> WHERE pt=<指定分區> LIMIT 20;
五、調度配置與發布
單擊離線同步任務右側的調度配置,設定周期運行所需的調度配置參數後,單擊頂部工具列的發布,進入發布面板,根據頁面提示完成發布。