共同點:
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計算框架。