1.3 Hive架构原理
生活随笔
收集整理的這篇文章主要介紹了
1.3 Hive架构原理
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1)用戶接口:Client
CLI(command-line interface)、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 中執行,最后,將執行返回的結果輸出到用戶交互接口。
總結
以上是生活随笔為你收集整理的1.3 Hive架构原理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 1.2 Hive的优缺点
- 下一篇: Git 仓库设置记住密码