全部產品
Search
文件中心

E-MapReduce:切換中繼資料存放區類型

更新時間:Sep 05, 2026

在阿里雲E-MapReduce(簡稱EMR)中,您在建立叢集時可以選擇中繼資料存放區類型,例如叢集內建MySQL、DLF或自建RDS。叢集建立後,您也可以切換中繼資料存放區類型。本文為您介紹阿里雲資料湖構建,以及如何切換EMR叢集的中繼資料存放區類型。

背景資訊

阿里雲資料湖構建是一款全託管的快速協助使用者構建雲上資料湖的服務,產品為雲原生資料湖提供了統一的中繼資料管理、統一的許可權與安全管理、便捷的資料入湖能力以及一鍵式資料探索能力,詳細資料請參見資料湖構建產品簡介

您可以快速完成雲原生資料湖方案的構建與管理,並可無縫對接多種計算引擎,打破資料孤島,洞察業務價值。

前提條件

已在資料湖構建(Data Lake Formation)控制台開通資料湖構建。

使用限制

  • DLF統一中繼資料適配EMR的Hive 2.x、Hive 3.x、Presto和SparkSQL。

  • 僅EMR-3.30.0及之後版本和EMR-4.5.0及之後版本,支援選擇DLF統一中繼資料作為Hive資料庫。

  • 切換中繼資料存放區類型只改變Hive訪問中繼資料的方式,不會自動遷移已有的中繼資料內容。切換後,Hive僅能訪問目標儲存中已存在的庫表資訊。如需保留原有中繼資料,請先完成中繼資料遷移。

操作步驟

  1. 進入Hive服務頁面。

    1. 登入E-MapReduce控制台

    2. 在頂部功能表列處,根據實際情況選擇地區和資源群組

    3. 在EMR on ECS頁面,單擊目的地組群所在行的集群服务

    4. 單擊Hive服務地區的配置

  2. 在配置搜尋中,輸入配置項hive.imetastoreclient.factory.class,單擊search表徵圖。

    • 切換為MySQL(包括叢集內建MySQL、統一meta資料庫和自建RDS):

      設定hive.imetastoreclient.factory.class的值為org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClientFactory

      如果叢集當前使用DLF統一中繼資料,切換後Hive僅能訪問HMS後端資料庫中已有的庫表。為避免庫表不可見或作業運行失敗,請在切換前完成以下準備工作:

      1. 暫停叢集上正在啟動並執行作業。

      2. 比對DLF與HMS中的中繼資料,將切換到DLF之後新增或變更的庫表資訊回放到HMS的後端資料庫中。

      3. 確認HMS的後端資料庫可正常串連,且Hive中繼資料表結構已初始化。

      4. 確認Hive服務的HiveMetaStore組件處於運行狀態。使用DLF統一中繼資料時,Hive通過DLF用戶端直接存取中繼資料,HiveMetaStore組件可能未啟動。

      說明

      中繼資料的比對與回放涉及資料一致性,建議聯絡阿里雲支援人員協助完成,詳情請參見EMR中繼資料遷移公告

    • 切換為DLF統一中繼資料:

      設定hive.imetastoreclient.factory.class的值為com.aliyun.datalake.metastore.hive2.DlfMetaStoreClientFactory

  3. 儲存配置。

    1. 在Hive服務頁面的服务配置地區,單擊保存

    2. 在彈出的對話方塊中,輸入執行原因,單擊保存

  4. 重啟Hive服務。

    1. 在Hive服務頁面,選擇右上方的更多操作 > 重启

    2. 在彈出的對話方塊中,填寫执行原因,單擊确定

    3. 确认對話方塊中,單擊确定

      您可以單擊上方的操作历史,查看任務進度,等待任務完成。

重啟完成後,建議執行SHOW DATABASESSHOW TABLES確認庫表資訊完整,再恢複業務作業。

如果叢集中的Spark、Presto等引擎也配置了DLF統一中繼資料,請同步調整對應引擎的中繼資料配置。否則不同引擎會串連到不同的中繼資料存放區,導致查詢到的庫表不一致。