Hive知識點總結 - 不僅僅是程序員 - 博客頻道 - CSDN.NET
http://blog.csdn.net/it18911008884/article/details/51841866
1.1 HIVE架構
Hive 的結構可以分為以下幾部分:
· 用戶接口:包括 CLI, Client, WUI
· 元數據存儲。通常是存儲在關系數據庫如 MySQL, derby 中
· 解釋器顽铸、編譯器谓松、優(yōu)化器鬼譬、執(zhí)行器
· Hadoop:用 HDFS 進行存儲逊脯,利用MapReduce 進行計算
1、 用戶接口主要有三個:CLI男窟,Client和 WUI歉眷。其中最常用的是 CLI,Cli 啟動的時候淑际,會同時啟動一個 Hive 副本。Client 是 Hive 的客戶端春缕,用戶連接至 Hive Server。在啟動 Client 模式的時候票灰,需要指出 Hive Server 所在節(jié)點宅荤,并且在該節(jié)點啟動 Hive Server。 WUI 是通過瀏覽器訪問 Hive冯键。
2惫确、 Hive 將元數據存儲在數據庫中,如 mysql改化、derby所袁。Hive 中的元數據包括表的名字,表的列和分區(qū)及其屬性蜈亩,表的屬性(是否為外部表等)前翎,表的數據所在目錄等。
3道川、 解釋器冒萄、編譯器橙数、優(yōu)化器完成 HQL 查詢語句從詞法分析、語法分析崖技、編譯、優(yōu)化以及查詢計劃的生成瞎访。生成的查詢計劃存儲在 HDFS 中吁恍,并在隨后有 MapReduce 調用執(zhí)行。
4鸦采、Hive 的數據存儲在 HDFS 中咕幻,大部分的查詢由 MapReduce 完成(包含 * 的查詢肄程,比如 select * from tbl 不會生成 MapRedcue 任務)选浑。
1.2 Hive和Hadoop 關系
Hive構建在 Hadoop 之上古徒,
· HQL 中對查詢語句的解釋、優(yōu)化代态、生成查詢計劃是由 Hive 完成的
· 所有的數據都是存儲在 Hadoop 中
· 查詢計劃被轉化為 MapReduce 任務蹦疑,在 Hadoop 中執(zhí)行(有些查詢沒有 MR 任務萨驶,如:select * from table)
· Hadoop和Hive都是用UTF-8編碼的