大數據-----Apache Hive【1】

一、Apache Hive

1.Hive 簡介
1.1.什麼是Hive
Hive是基於Hadoop的一個數據倉庫工具,可以將結構化的數據文件映射爲一張數據庫表,並提供類SQL查詢功能。
本質是將SQL轉換爲MapReduce程序。
主要用途:用來做離線數據分析,比直接用MapReduce開發效率更高

1.2.爲什麼使用Hive
直接使用Hadoop MapReduce處理數據所面臨的問題:
人員學習成本· 高
MapReduce實現複雜查詢邏輯開發難度太大
使用Hive :
操作接口採用類SQL語法,提供快速開發的能力
避免了去寫MapReduce,減少開發人員的學習成本
功能擴展很方便
2.Hive 架構
2.1.Hive架構圖
在這裏插入圖片描述
2.2.Hive組件
用戶接口:包括 CLI、JDBC/ODBC、WebGUI。其中,CLI(command line interface)爲shell命令行;JDBC/ODBC是Hive的JAVA實現,與傳統數據庫JDBC類似;WebGUI是通過瀏覽器訪問Hive。
元數據存儲:通常是存儲在關係數據庫如 mysql/derby中。Hive 將元數據存儲在數據庫中。Hive 中的元數據包括表的名字,表的列和分區及其屬性,表的屬性(是否爲外部表等),表的數據所在目錄等。
解釋器、編譯器、優化器、執行器:完成 HQL 查詢語句從詞法分析、語法分析、編譯、優化以及查詢計劃的生成。生成的查詢計劃存儲在 HDFS 中,並在隨後有 MapReduce 調用執行。
2.3.Hive與Hadoop的關係
Hive利用HDFS存儲數據,利用MapReduce查詢分析數據。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章