更新時(shí)間:2023年08月09日18時(shí)21分 來源:傳智教育 瀏覽次數(shù):
Hive其2大主要組件就是SQL解析器以及元數(shù)據(jù)存儲(chǔ),SQL解析器(Driver驅(qū)動(dòng)程序)用于完成SQL解析、執(zhí)行優(yōu)化、代碼提交等功能,元數(shù)據(jù)存儲(chǔ)幫助記錄各類元數(shù)據(jù)。下面來詳細(xì)介紹。
元數(shù)據(jù)存儲(chǔ)
原數(shù)據(jù)存儲(chǔ)通常是存儲(chǔ)在關(guān)系數(shù)據(jù)庫(kù)如mysql/derby中。Hive中的元數(shù)據(jù)包括表的名字,表的列和分區(qū)及其屬性,表的屬性(是否為外部表等),表的數(shù)據(jù)所在目錄等。-- Hive提供了Metastore服務(wù)進(jìn)程提供元數(shù)據(jù)管理功能。
Driver驅(qū)動(dòng)程序,包括語(yǔ)法解析器、計(jì)劃編譯器、優(yōu)化器、執(zhí)行器
完成 HQL 查詢語(yǔ)句從詞法分析、語(yǔ)法分析、編譯、優(yōu)化以及查詢計(jì)劃的生成。生成的查詢計(jì)劃存儲(chǔ)在 HDFS 中,并在隨后有執(zhí)行引擎調(diào)用執(zhí)行。這部分內(nèi)容不是具體的服務(wù)進(jìn)程,而是封裝在Hive所依賴的Jar文件即Java代碼中。
用戶接口
包括 CLI、JDBC/ODBC、WebGUI。其中,CLI(command line interface)為shell命令行;Hive中的Thrift服務(wù)器允許外部客戶端通過網(wǎng)絡(luò)與Hive進(jìn)行交互,類似于JDBC或ODBC協(xié)議。WebGUI是通過瀏覽器訪問Hive。Hive提供了 Hive Shell、 ThriftServer等服務(wù)進(jìn)程向用戶提供操作接口。
北京校區(qū)