Hive是為簡化編寫MapReduce程序而生的,使用MapReduce做過數據分析的人都知道,很多分析程序除業務邏輯不同外,程序流程基本一樣。在這種情況下,就需要Hive這樣的用戶編程接口。Hive本身不存儲和計算數據,它完全依賴於HDFS和MapReduce,Hive中的表純邏輯表,就是些表的定義等,也就是表的元數據。使用SQL實現Hive是因為SQL大家都熟悉,轉換成本低,類似作用的Pig就不是SQL。
HBase為查詢而生的,它通過組織起節點內所有機器的內存,提供一個超大的內存Hash表,它需要組織自己的數據結構,包括磁盤和內存中的,而Hive是不做這個的,表在HBase中是物理表,而不是邏輯表,搜索引擎使用它來存儲索引,以滿足查詢的實時性需求。