當前位置:股票大全官網 - 財經資訊 - hbase和hive有什麽區別,分別適用於什麽場景?

hbase和hive有什麽區別,分別適用於什麽場景?

Hive和Hbase是基於Hadoop的兩種不同技術——Hive是類似SQL的引擎,運行MapReduce任務,Hbase是Hadoop上NoSQL的Key/vale數據庫。當然,這兩個工具可以同時使用。就像用Google做搜索,用FaceBook做社交壹樣,Hive可以做統計查詢,Hbase可以做實時查詢,數據也可以從Hive寫到Hbase,設置可以從HBase寫回Hive。

共同點:

1.hbase和hive都是基於hadoop構建的。Hadoop用作底層存儲。

差異:

1.Hive是壹個構建在Hadoop上的批處理系統,用來減少MapReduce作業的工作,HBase是壹個支持Hadoop實時運行的項目。

2.假設您正在操作壹個RMDB數據庫。如果是全表掃描,用Hive+Hadoop,如果是索引訪問,用HBase+Hadoop。

3.配置單元查詢意味著MapReduce作業可以持續5分鐘到幾個小時。HBase非常高效,肯定比Hive高效很多。

4.Hive本身並不存儲和計算數據,它完全依賴於HDFS和MapReduce。Hive中表的純邏輯只是表的定義,也就是表的元數據。這樣就可以將結構化數據文件映射到數據庫表中,並提供完整的SQL查詢功能,最終將SQL語句轉換成MapReduce任務運行。

5.hive借用hadoop的MapReduce來完成hive中壹些命令的執行。

6.hbase是物理表,不是邏輯表。它提供了壹個超大的內存哈希表,搜索引擎使用它來存儲索引和方便查詢操作。

7.hbase是壹個列存儲。

8.hdfs是底層存儲,hdfs是存儲文件的系統,Hbase負責組織文件。

9.hive需要hdfs存儲文件和MapReduce計算框架。