AnalyticDB for 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會產生以下費用。
使用流程
步驟一:建立Hive資料來源。
步驟二:建立資料移轉任務。
步驟三:啟動資料移轉任務。
步驟四:資料分析。
步驟五(可選):管理資料移轉任務。
建立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路徑有相互首碼關係,資料同步過程中會有資料覆蓋。
遷移庫表配置參數說明
重要若庫表名同時出現在白名單和黑名單中,則以黑名單優先,即不會遷移。
參數名稱
參數說明
遷移庫表白名單
填入庫表名Regex。與運算式匹配的庫表會被遷移,多個運算式之間以英文逗號(,)分隔。
遷移庫表黑名單
填入庫表名Regex。與運算式匹配的庫表不會被遷移,多個運算式之間以英文逗號(,)分隔。
遷移配置參數說明
參數名稱
參數說明
目標端已存在同名表文件的處理
遷移時目標表已存在的處理邏輯:
跳過該表(不遷移):只跳過該表,其他表仍繼續遷移。
報錯攔截,暫停遷移:遷移任務暫停。同名表和其他庫表都不會繼續遷移。
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啟動並執行日誌。
管理資料移轉任務
在數據遷移頁面,您可以在操作列執行以下操作。
操作按鈕 | 說明 |
啟動 | 啟動資料移轉任務。 |
執行詳情 | 可查看鏈路詳細配置、遷移表數量及遷移詳情等指標。 |
編輯 | 修改任務配置屬性等 |
暫停 | 停止當前遷移任務。 |
删除 | 刪除當前遷移任務。 |