全部產品
Search
文件中心

E-MapReduce:Hive

更新時間:Sep 05, 2025

Hive是一個基於Hadoop的資料倉儲架構,在巨量資料業務情境中,主要用來進行資料提取、轉化和載入(ETL)以及中繼資料管理。

Hive結構

名稱

說明

HiveServer2

HiveQL查詢服務器,可以配置為Thrift或者HTTP協議,接收來自JDBC用戶端提交的SQL請求,支援多用戶端並發以及身分識別驗證。

Hive MetaStore

中繼資料管理模組,此模組被其他引擎所依賴,用於儲存Database和Table等元資訊。例如,Spark和Presto均依賴此模組作為其中繼資料管理。

Hive Client

Hive用戶端,直接利用該用戶端提交SQL作業,根據其設定運行引擎配置,可以將SQL轉換成MR作業、Tez作業和Spark作業,該模組在所有EMR節點上均有安裝。

Hive功能增強

在各版本的EMR中,Hadoop、Hive版本和EMR叢集的配套情況,請參見發行版本。針對開源增強Hive功能,詳見下表。

EMR-5.x系列

EMR版本

組件版本

功能增強

EMR-5.20.0

Hive 3.1.3

最佳化分區表新增欄位效能。

EMR-5.17.4

Hive 3.1.3

支援部署Master-Extend節點群組。

EMR-5.12.1

Hive 3.1.3

Hive warehouse支援預設使用OSS-HDFS儲存。

EMR-5.9.0

Hive 3.1.3

支援開啟Kerberos身份認證。

EMR-5.8.0

Hive 3.1.2

支援一鍵對接LDAP。

EMR-5.6.0

Hive 3.1.2

修複了TEZ開啟Speculation後重複Commit的缺陷。

EMR-5.5.0

Hive 3.1.2

  • 最佳化了Hive Jindo大量刪除的問題。

  • 最佳化了HiveServer2 OOM問題。

  • 最佳化了Hive on Spark。

  • 適配JindoSDK。

EMR-5.4.0

Hive 3.1.2

Hive on JindoFS(Block)支援批量中繼資料最佳化功能,預設未開啟。

EMR-5.3.0

Hive 3.1.2

Hive on JindoFS(Block模式)支援批量中繼資料最佳化功能。

EMR-5.2.1

Hive 3.1.2

  • 修複使用DLF中繼資料執行show create table命令,結果顯示不正確的問題。

  • 最佳化Hive預設參數,以提升作業效能。

  • 修改E-MapReduce控制台上,Hive服務配置頁面的hive-env頁簽的配置項名稱為大寫,便於使用者使用。

  • 修複UDF(User Define Function)導致HiveServer2記憶體泄露的問題。

  • 最佳化檔案系統與MetaStore不一致時寫Hive表的報錯資訊。

EMR-3.x系列

EMR版本

組件版本

功能增強

MR-3.51.4

Hive 2.3.9

支援部署Master-Extend節點群組。

EMR-3.46.1

Hive 2.3.9

Hive warehouse支援預設使用OSS-HDFS儲存。

EMR-3.40.0

Hive 2.3.8

  • 修複了TEZ開啟Speculation後重複Commit的缺陷。

  • 修複了必須Reload Function才能調用UDF的缺陷。

EMR-3.39.1

Hive 2.3.8

適配JindoSDK。

EMR-3.36.1

Hive 2.3.8

  • 升級Hive至2.3.8版本。

  • 修複使用DLF(DataLakeFormation)中繼資料執行show create table命令時,結果顯示不正確的問題。

  • 最佳化Hive預設參數,以提升作業效能。

  • 修改E-MapReduce控制台上,Hive服務配置頁面的hive-env頁簽的配置項名稱為大寫,便於使用者使用。

  • 最佳化檔案系統與MetaStore不一致時寫Hive表的報錯資訊。

EMR-3.35.0

Hive 2.3.7

修複Fetch Task相關的社區問題。

EMR-3.34.0

Hive 2.3.7

  • 最佳化了部分預設配置。
  • 效能最佳化:增強CBO。
  • 支援一鍵開啟或關閉LDAP功能。
  • 升級Calcite版本至1.12.0。
  • 增加參數hive.security.authorization.sqlstd.confwhitelist.append

EMR-3.33.0

Hive 2.3.7

  • 升級至2.3.7版本。
  • HCatalog支援Data Lake Formation。
  • 支援Hive中繼資料和作業運行資訊輸出至DataWorks。

EMR-3.32.0

Hive 2.3.5

  • 修複了HiveServer串連池泄漏的問題。
  • JindoTable支援開啟或關閉資料擷取功能。
  • 最佳化ADD COLUMN的效能。
  • 修複了讀取HUDI表時資料不正確的問題。
  • 預設的參數配置,可以根據叢集節點大小調整。

EMR-3.30.0

Hive 2.3.5

  • 支援阿里雲DLF(Data Lake Formation)中繼資料。
  • 解決了讀Delta表空目錄時寫DUMMY檔案問題。
  • 升級HAS依賴至2.0.1。

EMR-3.29.0

Hive 2.3.5

  • Hive升級至2.3.5.6.0。
  • 支援第三方Metastore的功能。
  • 增加datalake metastore-client。

EMR-3.28.0

Hive 2.3.5

支援Delta 0.6.0版本。

EMR-3.27.2

Hive 2.3.5

  • hcatalog表支援magic committer。
  • 移除一些過時的預設配置。

EMR-3.26.3

Hive 2.3.5

hcatalog表支援direct committer。

EMR-3.25.0

Hive 2.3.5

修複自動LOCAL模式下MR任務執行失敗的問題

EMR-3.24.0

Hive 2.3.5

  • 增加SQL相容性檢查功能邏輯。
  • Hive2.3.5+Hadoop2.8.5組合發布。
  • 重啟組件時不同步hiveserver2-site.xml中的內容至spark-conf下的hive-site.xml
  • 支援使用MSCK命令添加增量目錄。
  • 修複Hive複用tez container時出現的bug。
  • 支援使用MSCK命令最佳化列目錄。

EMR-3.23.0

Hive 2.3.5

  • 刪除老版本的hive hook。

  • 添加支援多個count distinct欄位的資料扭曲處理最佳化。

  • 解決join不同bucketversion的表時丟資料的問題。

EMR-3.23.0之前版本

Hive 2.x

外部統一資料庫儲存至Hive Meta,所有使用外部Hive Meta的叢集共用同一份Meta資訊。

EMR-4.x系列

EMR版本

組件版本

功能增強

EMR-4.10.0

Hive 3.1.2

  • 修複了Hue查詢記錄時,中文亂碼的問題。

  • 修複了Hue與Oozie整合使用時介面顯示的問題。

  • 修複YARN Job Browser在部分情況下無法正常展示和終止作業的問題。

  • 預設配置中放開YARN Job Browser。

  • 預設配置中支援Presto協議。

EMR-4.8.0

Hive 3.1.2

  • 最佳化了部分預設配置。

  • 效能最佳化:增強CBO。

  • 支援一鍵開啟或關閉LDAP功能。

EMR-4.6.0

Hive 3.1.2

  • HCatalog支援Data Lake Formation。

  • 支援Hive中繼資料和作業運行資訊輸出至DataWorks。

EMR-4.5.0

Hive 3.1.2

  • 支援資料湖構建(DLF)中繼資料。

  • 支援Ranger Ownership許可權。

EMR-4.4.1

Hive 3.1.2

最佳化預設的參數配置。

EMR-4.4.0

Hive 3.1.2

  • 升級至3.1.2版本。
  • 最佳化JindoFS。
  • 最佳化MSCK。
  • HCatalog支援JindoCommitter。
  • 升級HAS依賴。

EMR-4.3.0

Hive 3.1.1

支援自訂部署。

Hive文法

EMR產品最大程度的保持了開源社區的文法以及體驗,在Hive文法上保持與開源社區Hive文法100%的相容性。

關於Apache Hive的更多介紹,請參見Apache Hive官網

相關文檔