全部產品
Search
文件中心

DataWorks:EMR Hive單表離線同步至MaxCompute

更新時間:Nov 27, 2025

本文以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檔案讀取資料:Hive Reader外掛程式通過訪問HiveMetastore服務,解析出您配置的資料表的HDFS檔案儲存體路徑、檔案格式、分隔字元等資訊後,再通過讀取HDFS檔案的方式讀取Hive中的表資料。

  • 基於Hive Jdbc讀取資料(支援資料條件過濾):Hive Reader外掛程式通過Hive JDBC用戶端串連HiveServer2服務讀取資料。此方式支援通過where條件過濾資料,並直接通過SQL讀取資料。

說明

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表。

您也可以單擊一鍵產生目標表結構,系統將自動建立表接收資料,支援手動調整建表語句。

說明

如果:

  • 開發環境不存在待同步的MaxCompute表,則在配置離線同步節點的去向表的下拉框中無法搜尋到待同步表。

  • 生產環境不存在待同步的MaxCompute表,同步任務提交發布後,資料同步任務調度運行時將會由於無法找到待同步表而導致同步任務運行失敗。

  • 開發環境和生產環境的表結構不一致,同步任務提交發布後,同步任務實際調度運行時的列對應關係,可能與此處離線同步節點配置的列對應關係不一致,最終導致資料寫入不正確。

分區資訊

如果表為分區表,您可以填入分區列的取值。

  • 取值可以是固定值,如ds=20220101

  • 取值可以是調度系統參數,如ds=${bizdate},當任務運行時,會自動替換調度系統參數。

寫入模式

寫入目標表時可選擇清理已有資料,或者保留已有資料。

三、任務配置與驗證

  • 欄位對應:通常情況下,使用同名映射同行映射即可滿足需求。若源端與目標端欄位順序或名稱不一致,可對映射關係進行手動調整。

  • 通道控制:建議將髒資料策略設定為不容忍髒資料,以確保資料品質。其他參數在初期可保持預設。

四、調試配置並運行

  1. 單擊離線同步節點編輯頁面右側的調試配置,設定調試運行使用的資源群組指令碼參數,然後單擊頂部工具列的運行,測試同步鏈路是否成功運行。

  2. 您可以在左側導覽列單擊image,然後單擊個人目錄右側的image,建立一個尾碼為.sql的檔案,執行如下SQL查詢資料去向表中的資料是否符合預期。

    說明
    SELECT * FROM <MaxCompute側目標表名> WHERE pt=<指定分區> LIMIT 20;

五、調度配置與發布

單擊離線同步任務右側的調度配置,設定周期運行所需的調度配置參數後,單擊頂部工具列的發布,進入發布面板,根據頁面提示完成發布