Hive構成及工作原理簡介


Hive是基於Hadoop的一個數據倉庫工具,使用hive的優點是學習成本低,可以通過類SQL語句快速實現簡單的MapReduce統計,不必開發專門的MapReduce應用,十分適合數據倉庫的統計分析(可加強具體了解統計目標和分析方法)。

可以將結構化的數據文件映射為一張數據庫表,並提供類SQL查詢功能。
還可以將 SQL 語句轉換為 MapReduce 任務進行運行,通過自己的 SQL 去 查詢分析需要的內容,這套 SQL 簡稱HQL。

Hive將元數據存儲在數據庫(RDBMS)中,

比如MySQL、Derby中。

Hive有三種模式連接到數據,其方式是:

單用戶模式,多用戶模式和遠程服務模式。
(也就是內嵌模式、本地模式、遠程模式)。

Hive特點:

1.可擴展
Hive可以自由的擴展集群的規模,一般情況下不需要重啟服務。
2. 延展性
Hive支持用戶自定義函數,用戶可以根據自己的需求來實現自己的函數。
3.容錯
良好的容錯性,節點出現問題SQL仍可完成執行。

Jobtracker是hadoop1.x中的組件,它的功能相當於hadoop2.x中的: Resourcemanager+AppMaster
TaskTracker 相當於:  Nodemanager  +  yarnchild


從上圖可以看出,Hive體系結構大概分成一下四個部分:

1.用戶接口:

包括 CLI, Client, WUI:
CLI為shell命令行,Cli 啟動的時候,會同時啟動一個 Hive 副本。
Client 是 Hive 的客戶端,用戶連接至 Hive Server。在啟動 Client 模式的時候,需要指出 Hive Server 所在節點,並且在該節點啟動 Hive Server。 
WUI 是通過瀏覽器訪問 Hive。

2.元數據存儲:通常是存儲在關系數據庫如 mysql, derby 中

3.解釋器、編譯器、優化器、執行器:

完成 HQL 查詢語句從詞法分析、語法分析、編譯、優化以及查詢計划的生成。
生成的查詢計划存儲在 HDFS 中,並在隨后有MapReduce 調用執行。

4.Hadoop:

Hive中數據用 HDFS 進行存儲,利用 MapReduce 進行計算。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM