您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關HIVE有什么用,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
在實際工作中,hive往往被用于建設數據倉庫,所以,在學習HIVE前,你有必要去簡單了解一下數據倉庫的一些基本概念,比如:
1、什么是數據倉庫
2、數據倉庫與數據庫區別
3、數據倉庫分層架構
由于這些概念在網上很多,這里就不在介紹了,請自行網上查找。
可以將結構化的數據文件映射為一張數據庫表,并提供類SQL查詢功能。
其本質是將SQL轉換為MapReduce的任務進行運算,底層由HDFS來提供數據的存儲支持,說白了hive可以理解為一個將SQL轉換為MapReduce任務的工具,甚至更進一步可以說hive就是一個MapReduce的客戶端
Hive 具有 SQL 數據庫的外表,但應用場景完全不同。
Hive 只適合用來做海量離線數據統計分析,也就是數據倉庫。
優點
操作接口采用類SQL語法,提供快速開發的能力(簡單、容易上手)。
避免了去寫MapReduce,減少開發人員的學習成本。
Hive支持用戶自定義函數,用戶可以根據自己的需求來實現自己的函數。
缺點
Hive的查詢延遲很嚴重
Hive不支持事務
1、用戶接口:Client
CLI(hive shell)
JDBC/ODBC(java訪問hive)
WEBUI(瀏覽器訪問hive)
2、元數據:Metastore
元數據包括:表名、表所屬的數據庫(默認是default)、表的擁有者、列/分區字段、表的類型(是否是外部表)、表的數據所在目錄等;
默認存儲在自帶的derby數據庫中,推薦使用MySQL存儲Metastore
3、Hadoop集群
使用HDFS進行存儲,使用MapReduce進行計算。
4、Driver:驅動器
解析器(SQL Parser)
將SQL字符串轉換成抽象語法樹AST
對AST進行語法分析,比如表是否存在、字段是否存在、SQL語義是否有誤
編譯器(Physical Plan):將AST編譯生成邏輯執行計劃
優化器(Query Optimizer):對邏輯執行計劃進行優化
執行器(Execution):把邏輯執行計劃轉換成可以運行的物理計劃。對于Hive來說默認就是mapreduce任務
關于“HIVE有什么用”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。