Hive起源于Facebook,它使得針對Hadoop進行SQL查詢成為可能,從而非程序員也可以方便地使用。Hive是基于Hadoop的一個數(shù)據(jù)倉庫工具,可以將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張數(shù)據(jù)庫表,并提供完整的SQL查詢功能,可以將SQL語句轉(zhuǎn)換為MapReduce任務運行。
Hive是建立在 Hadoop 上的數(shù)據(jù)倉庫基礎構(gòu)架。它提供了一系列的工具,可以用來進行數(shù)據(jù)提取轉(zhuǎn)化加載(ETL),這是一種可以存儲、查詢和分析存儲在 Hadoop 中的大規(guī)模數(shù)據(jù)的機制。Hive 定義了簡單的類 SQL 查詢語言,稱為 HQL,它允許熟悉 SQL 的用戶查詢數(shù)據(jù)。同時,這個語言也允許熟悉 MapReduce 開發(fā)者的開發(fā)自定義的 mapper 和 reducer 來處理內(nèi)建的 mapper 和 reducer 無法完成的復雜的分析工作。
優(yōu)點:Hive 最適合于數(shù)據(jù)倉庫應用,可以維護海量數(shù)據(jù),而且可以對數(shù)據(jù)進行挖掘,然后形成意見和報告等,只要略懂得SQL語法的話就會很容易上手;
缺點:它不是一個完整的數(shù)據(jù)庫,最大的限制就是Hive不支持記錄級別的更新,插入或者刪除操作;這是 Hadoop 以及 HDFS 的設計本身約束和局限性地限制了Hive所能勝任的工作。但用戶可以通過查詢生成新表或者將查詢結(jié)果導入到文件中;Hive 也不支持事務;
Hive 也有圖形界面管理的商業(yè)產(chǎn)品: Cloudera 提供的 Hue 項目(https://github.com/cloudera/hue)
Hive 的功能模塊:
新聞熱點
疑難解答