hive與hbase的聯絡與區別:
共同點:
1.hbase與hive都是架構在hadoop之上的。都是用hadoop作為底層儲存。
他們的底層是要通過mapreduce分布式計算的,hbase、hive、pig底層都是這樣的。但整體來說hadoop還是比較快的,因為它是進行海量資料儲存和分布式計算,這個速度已經很不錯了。
區別:
2.hive是建立在hadoop之上為了減少mapreduce jobs編寫工作的批處理系統,hbase是為了支援彌補hadoop對實時操作的缺陷的專案 。
3.想象你在操作rmdb資料庫,如果是全表掃瞄,就用hive+hadoop,如果是索引訪問,就用hbase+hadoop 。
4.hive query就是mapreduce jobs可以從5分鐘到數小時不止,hbase是非常高效的,肯定比hive高效的多。
5.hive本身不儲存和計算資料,它完全依賴於hdfs和mapreduce,hive中的表純邏輯。hive需要用到hdfs儲存檔案,需要用到mapreduce計算框架。
6.hive借用hadoop的mapreduce來完成一些hive中的命令的執行
7.hbase是物理表,不是邏輯表,提供乙個超大的記憶體hash表,搜尋引擎通過它來儲存索引,方便查詢操作。
8.hbase是列儲存。
9.hdfs作為底層儲存,hdfs是存放檔案的系統,而hbase負責組織檔案。
注:覺得在問區別之前,我應該顯示說相同點,這麼一想,又糊塗了,hive和hbase**像了,好像**都不像,既然**都不像,又何來的「區別是什麼」這一問題,他倆所有的都算區別。
那麼,hive是什麼?
白話一點再加不嚴格一點,hive可以認為是map-reduce的乙個包裝。hive的意義就是把好寫的hive的sql轉換為複雜難寫的map-reduce程式。
於是,hbase是什麼?
同樣白話一點加不嚴格一點,hbase可以認為是hdfs的乙個包裝。他的本質是資料儲存,是個nosql資料庫;hbase部署於hdfs之上,並且克服了hdfs在隨機讀寫方面的缺點。
所以要問hive和hbase的區別,就應該問問map-reduce和hdfs之間的區別,問區別,就要先說說他倆**像。
於是,你說map-reduce和hdfs**像了呢?
說點題外話:hive難在sql,habse難在表結構的設計
hive與hbase的聯絡與區別
共同點 1.hbase與hive都是架構在hadoop之上的。都是用hadoop作為底層儲存 區別 2.hive是建立在hadoop之上為了減少mapreduce jobs編寫工作的批處理系統,hbase是為了支援彌補hadoop對實時操作的缺陷的專案 3.想象你在操作rmdb資料庫,如果是全表掃瞄...
hive與hbase的區別與聯絡
hive與hbase的底層儲存是什麼?hive是產生的原因是什麼?habase是為了彌補hadoop的什麼缺陷?共同點 1.hbase與hive都是架構在hadoop之上的。都是用hadoop作為底層儲存 區別 2.hive是建立在hadoop之上為了減少mapreduce jobs編寫工作的批處理...
hive與hbase的聯絡與區別
兩者分別是什麼?apache hive是乙個構建在hadoop基礎設施之上的資料倉儲。通過hive可以使用hql語言查詢存放在hdfs上的資料。hql是一種類sql語言,這種語言最終被轉化為map reduce.雖然hive提供了sql查詢功能,但是hive不能夠進行互動查詢 因為它只能夠在haoo...