Hive 01_初学必知
Hive
?
Hive的產生:
非java編程者對hdfs的數據做mapreduce操作
?
Hive : 數據倉庫。
Hive:解釋器,編譯器,優化器等。
Hive 運行時,元數據存儲在關系型數據庫里面。
?
Hive架構:
?
Hive的架構
(1)用戶接口主要有三個:CLI,Client 和 WUI。其中最常用的是CLI,Cli啟動的時候,會同時啟動一個Hive副本。Client是Hive的客戶端,用戶連接至Hive Server。在啟動 Client模式的時候,需要指出Hive Server所在節點,并且在該節點啟動Hive Server。 WUI是通過瀏覽器訪問Hive。
? ?
(2)Hive將元數據存儲在數據庫中,如mysql、derby。Hive中的元數據包括表的名字,表的列和分區及其屬性,表的屬性(是否為外部表等),表的數據所在目錄等。
? ?
(3)解釋器、編譯器、優化器完成HQL查詢語句從詞法分析、語法分析、編譯、優化以及查詢計劃的生成。生成的查詢計劃存儲在HDFS中,并在隨后有MapReduce調用執行。
? ?
(4)Hive的數據存儲在HDFS中,大部分的查詢、計算由MapReduce完成(包含*的查詢,比如select * from tbl不會生成MapRedcue任務)。
?
Hive的架構
-編譯器將一個Hive SQL轉換操作符
-操作符是Hive的最小的處理單元
-每個操作符代表HDFS的一個操作或者一道MapReduce作業
?
Operator
-Operator都是hive定義的一個處理過程
-Operator都定義有:
-protected?List?<Operator<???extends?Serializable?>>?childOperators;?
-protected?List?<Operator<???extends?Serializable?>>?parentOperators;?
-protected?boolean?done;?// 初始化值為false
?
Hive搭建模式
1.連接到一個In-memory 的數據庫Derby,一般用于Unit Test。
2.通過網絡連接到一個數據庫中,是最經常使用到的模式
3.遠程服務器模式
用于非Java客戶端訪問元數據庫,在服務器端啟動MetaStoreServer,客戶端利用Thrift協議通過MetaStoreServer訪問元數據庫
?
?
?
總結
以上是生活随笔為你收集整理的Hive 01_初学必知的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 异常处理——Another app is
- 下一篇: Hbase 01_初学必知