hive架構原理

2021-10-10 06:01:10 字數 856 閱讀 2788

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。

hive通過給使用者提供的一系列互動介面,接收到使用者的指令(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...