Hive之 hive架構
阿新 • • 發佈:2019-02-01
Hive架構圖
主要分為以下幾個部分:
- 使用者介面,包括 命令列CLI,Client,Web介面WUI,JDBC/ODBC介面等
- 中介軟體:包括thrift介面和JDBC/ODBC的服務端,用於整合Hive和其他程式。
- 元資料metadata儲存,通常是儲存在關係資料庫如 mysql, derby 中的系統引數
- 底層驅動:包括HiveQL直譯器、編譯器、優化器、執行器(引擎)。
- Hadoop:用 HDFS 進行儲存,利用 MapReduce 進行計算。
- 使用者介面主要有三個:CLI,Client 和 WUI。其中最常用的是 CLI,Cli 啟動的時候,會同時啟動一個
- Hive 將元資料儲存在資料庫中,如 mysql、derby。Hive 中的元資料包括表的名字,表的列和分割槽及其屬性,表的屬性(是否為外部表等),表的資料所在目錄等。
- 直譯器、編譯器、優化器完成 HQL 查詢語句從詞法分析、語法分析、編譯生成執行計劃、優化以及生成最佳執行計劃。生成的查詢計劃儲存在 HDFS 中,並在隨後有 MapReduce
- Hive 的資料儲存在 HDFS 中,大部分的查詢由 MapReduce 完成(包含 * 的查詢,比如 select * from tbl 不會生成 MapRedcue 任務)。