hive與hbase的聯絡與區別

2021-09-08 18:27:13 字數 1342 閱讀 5167

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...