Hive基礎知識

HIve出現的原因:解決SQL用戶從一個現有的基於傳統關係型數據庫和結構化查詢語言的基礎架構轉移到hadoop上,來通過HiveQL來查詢存儲在Hadoop集羣上的數據。

Hive可以將大多數的查詢轉換爲MapReduce任務(job),進而在介紹一個令人熟悉的SQL的同時,拓寬了Hadoop的可擴展性。

Hive不是一個完整的數據庫。Hadoop以及HDFS的設計本身約束和侷限性的限制了Hive所能勝任的工作,其中最大的限制就是Hive不支持記錄級別的更新、插入或者刪除操作。但是用於可以通過查詢生成新表或者將查詢結果導入文件中。

Hive的查詢延時比較嚴重。這是由於Hadoop是一個面向批處理的系統,而MapReduce任務(Job)在啓動過程中需要消耗較長的時間。

Hive不支持事務。

因此,Hive是最適合數據倉庫應用程序的,其可以維護海量數據,而且可以對數據進行挖掘,然後形成意見或報告等。

Hive的組成:
CLI:shell
HWi:Hive的網頁界面
Thrift Server:幫助開發用戶使用JDBC|ODBC來訪問Hive 
Driver:通過該模塊對輸入進行解析編譯,對需求的計算進行優化,然後按照指定的步驟執行
Metastore:元數據存儲,是一個獨立的關係型數據庫(通常是一個Mysql實例),Hive會將其中保存表模式和其他系統元數據。

Hive的交互方式:
Cli(命令行)、Hue(圖形界面)、Qubole(圖形界面)

發佈了43 篇原創文章 · 獲贊 1 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章