Hive數據導入
云原生數據倉庫 AnalyticDB MySQL 版支持通過Hive數據遷移將Hive數據遷移至OSS。本文介紹如何添加Hive數據源,新建Hive遷移鏈路并啟動任務,以及數據遷移后如何進行數據分析和管理數據遷移任務。
功能介紹
AnalyticDB for MySQL支持新建Hive數據遷移任務,通過遷移任務將Hive元數據和數據一鍵遷移到OSS,或多庫多表并行遷移到OSS。
前提條件
AnalyticDB for MySQL集群的產品系列為企業版、基礎版或湖倉版。
已在AnalyticDB for MySQL集群中創建Job型資源組。具體操作,請參見新建資源組。
已創建AnalyticDB for MySQL集群的數據庫賬號。
如果是通過阿里云賬號訪問,只需創建高權限賬號。具體操作,請參見創建高權限賬號。
如果是通過RAM用戶訪問,需要創建高權限賬號和普通賬號并且將RAM用戶綁定到普通賬號上。具體操作,請參見創建數據庫賬號和綁定或解綁RAM用戶與數據庫賬號。
在AnalyticDB for MySQL集群的相同地域,已創建阿里云E-MapReduce集群或ECS自建CDH集群,具體要求如下:
E-MapReduce集群。E-MapReduce集群業務場景為新版數據湖,元數據類型為自建 RDS或內置 MySQL,具有Hive服務,且Hive 存儲模式為HDFS(即去勾選數據湖存儲)。具體操作,請參見創建集群。
重要元數據類型為DLF 統一元數據的E-MapReduce集群,暫不支持遷移Hive數據至OSS。
Hive存儲模式為數據湖存儲的E-MapReduce集群,數據存儲在OSS中,可以通過元數據發現功能將數據導入AnalyticDB for MySQL。具體操作,請參見通過元數據發現導入至湖倉版。
ECS自建CDH集群。
已創建Hive庫表,且Hive表為分區表。具體操作,請參見Hive基礎操作。
計費說明
通過AnalyticDB for MySQL數據遷移功能遷移數據至OSS會產生以下費用。
AnalyticDB for MySQL的ACU彈性資源費用,計費項詳情,請參見湖倉版計費項和企業版和基礎版計費項。
OSS的存儲費用、GET類請求次數以及PUT類和其他請求次數的費用。計費項詳情,請參見計費概述。
使用流程
新建Hive數據源
如果已添加過Hive數據源,可跳過此步驟,直接新建遷移鏈路,詳情請參見新建數據遷移任務。
登錄云原生數據倉庫AnalyticDB MySQL控制臺,在左上角選擇集群所在地域。在左側導航欄,單擊集群列表,在企業版、基礎版或湖倉版頁簽下,單擊目標集群ID。
在左側導航欄,單擊數據接入>數據源管理。
單擊右上角新建數據源。
在新建數據源頁面進行參數配置。參數說明如下表所示:
阿里云實例
參數名稱
參數說明
數據源類型
選擇數據源類型Hive。
數據源名稱
系統默認會按數據源類型與當前時間生成名稱,可按需修改。
數據源描述
數據源備注描述,例如湖倉應用場景、應用業務限制等。
部署模式
如果您使用的是E-MapReduce的Hive服務,請選擇阿里云實例。
實例
選擇數據源指向的E-MapReduce實例。
Hive Metastore Uri
訪問Hive MetaStore的連接地址。格式為
thrift://<Master節點的IP地址>:<端口號>
,端口號默認為9083。Master節點的IP地址查看方法:
登錄EMR on ECS控制臺,在節點管理頁簽,單擊emr-master節點前的,查看Master節點的內網地址。
ECS自建CDH
參數名稱
參數說明
數據源類型
選擇數據源類型Hive。
數據源名稱
系統默認會按數據源類型與當前時間生成名稱,可按需修改。
數據源描述
數據源備注描述,例如湖倉應用場景、應用業務限制等。
部署模式
如果您是在ECS自建的CDH集群,請選擇ECS自建CDH。
實例
選擇數據源指向的ECS實例。
Hive Metastore Uri
訪問Hive MetaStore的連接地址,即CDH Master節點對應的ECS實例的公網IP。格式為
thrift://<Master節點的IP地址>:<端口號>
,端口號默認為9083。Host配置信息
填寫Host與IP的映射關系。每組映射關系換行分隔。
示例:
192.168.2.153 master.cdh
192.168.2.154 node1.cdh
192.168.2.155 node2.cdh
參數配置完成后,單擊創建。
新建數據遷移任務
在左側導航欄,單擊數據遷移。
在右上角,單擊新建遷移鏈路。
在新建遷移鏈路頁面,進行數據源的數據源及目標端配置、遷移庫表配置和遷移配置。
數據源及目標端配置參數說明
參數名稱
參數說明
數據鏈路名稱
數據鏈路名稱。系統默認按數據源類型與當前時間生成名稱,可按需修改。
數據源
選擇已有的Hive數據源,也可新建數據源。
目標端類型
目前僅支持數據湖-OSS存儲。
OSS路徑
AnalyticDB for MySQL湖倉數據在OSS中的存儲路徑。
重要展示的Bucket是與AnalyticDB for MySQL集群同地域的所有Bucket,您可以任意選擇其中一個。請謹慎規劃存儲路徑,創建后不允許修改。
建議選擇一個空目錄,且不能與其他任務的OSS路徑有相互前綴關系,防止數據覆蓋。例如,兩個數據同步任務的OSS路徑分別為oss://adb_demo/test/sls1/和oss://adb_demo/test/,OSS路徑有相互前綴關系,數據同步過程中會有數據覆蓋。
遷移庫表配置參數說明
重要若庫表名同時出現在白名單和黑名單中,則以黑名單優先,即不會遷移。
參數名稱
參數說明
遷移庫表白名單
填入庫表名正則表達式。與表達式匹配的庫表會被遷移,多個表達式之間以英文逗號(,)分隔。
遷移庫表黑名單
填入庫表名正則表達式。與表達式匹配的庫表不會被遷移,多個表達式之間以英文逗號(,)分隔。
遷移配置參數說明
參數名稱
參數說明
目標端已存在同名表文件的處理
遷移時目標表已存在的處理邏輯:
跳過該表(不遷移):只跳過該表,其他表仍繼續遷移。
報錯攔截,暫停遷移:遷移任務暫停。同名表和其他庫表都不會繼續遷移。
Job型資源組
指定任務運行的Job型資源組。
所需ACU數
指定任務運行的Job型資源組ACU數。最小ACU數為4,最大ACU數為Job型資源組可用計算最大資源數。建議多指定一些ACU數,可以提升數據遷移性能及任務穩定性。
并行任務數
默認并行任務數為1,并行任務數上限為8。
調高該值后,會同時啟動多個遷移任務,每個任務遷移一張表。但是每個任務至少需要4 ACU,如果ACU數較少,則遷移任務將串行執行。
高級配置
高級配置可以讓您對同步任務進行個性化的配置。如需進行個性化配置,請聯系技術支持。
上述參數配置完成后,單擊提交。
啟動數據遷移任務
在數據遷移頁面,選擇創建成功的數據遷移任務,在操作列單擊啟動。
單擊右上角查詢,狀態變為正在啟動即數據同步任務啟動成功。
數據分析
遷移任務成功后,您也可以先通過元數據發現功能將OSS中的數據導入至企業版、基礎版或湖倉版,然后在Spark Jar開發中對導入至企業版、基礎版或湖倉版的數據進行分析。Spark開發的相關操作,請參見Spark開發編輯器和Spark離線應用開發。
在左側導航欄,單擊 。
在默認模板中輸入示例語句,并單擊立即執行。
-- Here is just an example of SparkSQL. Modify the content and run your spark program. conf spark.driver.resourceSpec=medium; conf spark.executor.instances=2; conf spark.executor.resourceSpec=medium; conf spark.app.name=Spark SQL Test; conf spark.adb.connectors=oss; -- Here are your sql statements show tables from lakehouse20220413156_adbTest;
可選:在應用列表頁簽中,單擊操作列的日志,查看Spark SQL運行的日志。
管理數據遷移任務
在數據遷移頁面,您可以在操作列執行以下操作。
操作按鈕 | 說明 |
啟動 | 啟動數據遷移任務。 |
執行詳情 | 可查看鏈路詳細配置、遷移表數量及遷移詳情等指標。 |
編輯 | 修改任務配置屬性等 |
暫停 | 停止當前遷移任務。 |
刪除 | 刪除當前遷移任務。 |