Hive架構原理

2021-09-20 15:38:23 字數 955 閱讀 1510

1.使用者介面:client

cli(command-line inte***ce)、jdbc/odbc(jdbc訪問hive)、webui(瀏覽器訪問hive)

2.元資料:metastore

元資料報括:表名、表所屬的資料庫(預設是default)、表的擁有者、列/分割槽字段、表的型別(是否是外部表)、表的資料所在目錄等;

預設儲存在自帶的

derby

資料庫中,推薦使用

mysql

儲存metastore

3.hadoop

使用hdfs進行儲存,使用mapreduce進行計算。

4.驅動器:driver

(1)解析器(sql parser):將sql字串轉換成抽象語法樹ast,這一步一般都用第三方工具庫完成,比如antlr;對ast進行語法分析,比如表是否存在、字段是否存在、sql語義是否有誤。

(2)編譯器(physical plan):將ast編譯生成邏輯執行計畫。

(3)優化器(query optimizer):對邏輯執行計畫進行優化。

(4)執行器(execution):把邏輯執行計畫轉換成可以執行的物理計畫。對於hive來說,就是mr/spark。

通過給使用者提供的一系列互動介面,接收到使用者的指令

(sql)

,使用自己的

driver

,結合元資料

(metastore)

,將這些指令翻譯成

mapreduce

,提交到

hadoop

中執行,最後,將執行返回的結果輸出到使用者互動介面。

hive架構原理

1 使用者介面 client cli command line inte ce jdbc odbc jdbc訪問hive webui 瀏覽器訪問hive 2 元資料 metastore 元資料報括 表名 表所屬的資料庫 預設是default 表的擁有者 列 分割槽字段 表的型別 是否是外部表 表的資...

Hive的架構和原理

hive是基於hadoop的乙個資料倉儲工具,可以將結構化的資料檔案對映為一張表,並提供類sql hql 查詢功能。hive是將hql轉化為mapreduce程式,hive處理的資料儲存在hdfs上,執行程式執行在yarn上。由於執行的是mapreduce程式,延遲比較高 還有乙個重要的原因是,沒有...

Hive的架構原理 Hive的安裝步驟

元資料預設資料庫是 derby 開發使用mysql hive如何將sql語句翻譯成mapreduce的?1.使用sql解析器解析sql語句 2.使用編譯器進行編譯邏輯 3.使用優化器進行優化 4.使用執行器在hadoop上執行mapreduce hive是基於hadoop之上的框架。1.安裝hive...