
二者區(qū)別
Hive:Hive是基于Hadoop的一個(gè)數(shù)據(jù)倉(cāng)庫(kù)工具,可以將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張數(shù)據(jù)庫(kù)表,并提供簡(jiǎn)單的sql查詢功能。
- Hive本身不存儲(chǔ)和計(jì)算數(shù)據(jù),它完全依賴于HDFS和MapReduce,Hive中的表純邏輯。hive需要用到hdfs存儲(chǔ)文件,需要用到MapReduce計(jì)算框架。
- hive可以認(rèn)為是map-reduce的一個(gè)包裝。hive的意義就是把好寫(xiě)的hive的sql轉(zhuǎn)換為復(fù)雜難寫(xiě)的map-reduce程序。
HBase:HBase是Hadoop的數(shù)據(jù)庫(kù),一個(gè)分布式、可擴(kuò)展、大數(shù)據(jù)的存儲(chǔ)。
- hbase是物理表,不是邏輯表,提供一個(gè)超大的內(nèi)存hash表,搜索引擎通過(guò)它來(lái)存儲(chǔ)索引,方便查詢操作
- hbase可以認(rèn)為是hdfs的一個(gè)包裝。他的本質(zhì)是數(shù)據(jù)存儲(chǔ),是個(gè)NoSql數(shù)據(jù)庫(kù);hbase部署于hdfs之上,并且克服了hdfs在隨機(jī)讀寫(xiě)方面的缺點(diǎn)。
二者聯(lián)系
Hbase和Hive在大數(shù)據(jù)架構(gòu)中處在不同位置,Hbase主要解決實(shí)時(shí)數(shù)據(jù)查詢問(wèn)題,Hive主要解決數(shù)據(jù)處理和計(jì)算問(wèn)題,一般是配合使用。
在大數(shù)據(jù)架構(gòu)中,Hive和HBase是協(xié)作關(guān)系,數(shù)據(jù)流一般如下圖:
- 通過(guò)ETL工具將數(shù)據(jù)源抽取到HDFS存儲(chǔ);
- 通過(guò)Hive清洗、處理和計(jì)算原始數(shù)據(jù);
- HIve清洗處理后的結(jié)果,如果是面向海量數(shù)據(jù)隨機(jī)查詢場(chǎng)景的可存入Hbase
- 數(shù)據(jù)應(yīng)用從HBase查詢數(shù)據(jù);






