hbase和hive的區別

2021-06-22 18:38:50 字數 1164 閱讀 1514

hive

不想用程式語言開發mapreduce的朋友比如db們,熟悉sql的朋友可以使用hive開脫機的進行資料處理與分析工作。

起源於facebook,hive在hadoop中扮演資料倉儲的角色。建立在hadoop集群的最頂層,對儲存在hadoop群上的資料提供類sql的介面進行操作。你可以用 hiveql進行select,join,等等操作。

hive是為了簡化編寫mapreduce程式而生的,可以認為是map-reduce的乙個包裝,hive的意義就是把好寫的hive的sql轉換為複雜難寫的map-reduce程式,使用mapreduce做過資料分析的人都知道,很多分析程式除業務邏輯不同外,程式流程基本一樣。在這種情況下,就需要hive這樣的使用者程式設計介面。hive本身不儲存和計算資料,它完全依賴於hdfs和mapreduce,hive中的表純邏輯,就是些表的定義等,也就是表的元資料。使用sql實現hive是因為sql大家都熟悉,轉換成本低,類似作用的pig就不是sql。hive 目標是做成資料倉儲,所以提供了sql,提供了檔案-表對映關係,又由於hive基於hdfs,所以不支援update,因為hdfs本身就不支援update

hbase

hbase作為面向列的資料庫執行在hdfs之上,hdfs缺乏隨即讀寫操作,hbase正是為此而出現。hbase以google bigtable為藍本,以鍵值對的形式儲存。專案的目標就是快速在主機內數十億行資料中定位所需的資料並訪問它。

hbase是乙個資料庫,乙個nosql的資料庫,像其他資料庫一樣提供隨即讀寫功能,hadoop不能滿足實時需要,hbase正可以滿足。如果你需要實時訪問一些資料,就把它存入hbase。

你可以用hadoop作為靜態資料倉儲,hbase作為資料儲存,放那些進行一些操作會改變的資料。

hive vs hbase

hive是建立在hadoop之上為了減少mapreduce jobs編寫工作的批處理系統,hbase是為了支援彌補hdfs對實時操作的缺陷的專案,想象你在操作rmdb資料庫,如果是全表掃瞄,就用hive+hadoop,如果是索引訪問,就用hbase+hadoop ,hive query就是mapreduce jobs可以從5分鐘到數小時不止,hbase是非常高效的,肯定比hive高效的多。

資料倉儲作用:儲存歷史資料,進而對資料進行分析,只提供查詢,不提供修改

Hive和HBase的區別

hive是為了簡化編寫mapreduce程式而生的,使用mapreduce做過資料分析的人都知道,很多分析程式除業務邏輯不同外,程式流程基本一樣。在這種情況下,就需要hive這樣的使用者程式設計介面。hive本身不儲存和計算資料,它完全依賴於hdfs和mapreduce,hive中的表純邏輯,就是些...

Hive和HBase的區別

以下 由網上內容 整理 hive是為了簡化編寫mapreduce程式而生的,使用mapreduce做過資料分析的人都知道,很多分析程式除業務邏輯不同外,程式流程基本一樣。在這種情況下,就需要hive這樣的使用者程式設計介面。hive本身不儲存和計算資料,它完全依賴於hdfs和mapreduce,hi...

Hive 和 HBase 的區別

1.兩者分別是什麼?apache hive是乙個構建在hadoop基礎設施之上的資料倉儲。通過hive可以使用hql語言查詢存放在hdfs上的資料。hql是一種類sql語言,這種語言最終被轉化為map reduce.雖然hive提供了sql查詢功能,但是hive不能夠進行互動查詢 因為它只能夠在ha...