1. 程式人生 > 其它 >大資料開發技術之Hive的構架原理

大資料開發技術之Hive的構架原理

Hive架構原理

1.使用者介面:Client

CLI(hive shell)、JDBC/ODBC(java訪問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中執行,最後,將執行返回的結果輸出到使用者互動介面。

瞭解更多大資料培訓開發技術知識,關注我,有更多精彩內容與大家分享!

文章轉載連結:http://www.atguigu.com/jsfx/3300.html