什麼是Hive:
Hive實際上是一款開源的數據倉庫,它是建立在Hadoop基礎設施之上的,底層文件系統是HDFS。
什麼是HBase:
HBase是一種鍵值系統的數據庫,nosql數據庫之一,基於列式存儲。它也是基於HDFS。
兩者區別:
通過定義就可以清楚知道,Hive是數據倉庫,HBase是數據庫,兩者是有着很大區別的,如:
Hive適合海量數據的挖掘和分析,不支持更新、索引等事務。通過Hive可以使用HQL語言對存放在HDFS文件系統上的數據進行結構化操作。Hive的計算引擎是Hadoop的MapReduce。而HBase適合海量半結構化帶時間序列的數據的存儲和檢索,也就是HBase支持更新、索引等事務。Hbase能夠實時運行,其計算引擎由自身提供。
Hive是建立在Hadoop之上爲了減少MapReduce jobs編寫工作的批處理系統,HBase是爲了支持彌補Hadoop對實時操作的缺陷的項目 。
Hive的計算速度比較慢,HBase則具有高效的性能。
Hive本身不存儲和計算數據,它完全依賴於HDFS和MapReduce,Hive中的表純邏輯。hive需要用到hdfs存儲文件,需要用到MapReduce計算框架。HBase是物理表,不是邏輯表,提供一個超大的內存hash表,搜索引擎通過它來存儲索引,方便查詢操作。