Hive與Hbase的區別

2021-07-06 07:47:41 字數 2066 閱讀 5916

以下 由網上內容 整理:

hive是為了簡化編寫mapreduce程式而生的,使用mapreduce做過資料分析的人都知道,很多分析程式除業務邏輯不同外,程式流程基本一樣。在這種情況下,就需要hive這樣的使用者程式設計介面。hive本身不儲存和計算資料,它完全依賴於hdfs和mapreduce,hive中的表純邏輯,就是些表的定義等,也就是表的元資料。使用sql實現hive是因為sql大家都熟悉,轉換成本低,類似作用的pig就不是sql。

hbase為查詢而生的,它通過組織起節點內所有機器的記憶體,提供乙個超大的記憶體hash表,它需要組織自己的資料結構,包括磁碟和記憶體中的,而hive是不做這個的,表在hbase中是物理表,而不是邏輯表,搜尋引擎使用它來儲存索引,以滿足查詢的實時性需求。

hive類似cloudbase,也是基於hadoop分布式計算平台上的提供data warehouse的sql功能的一套軟體。使得儲存在hadoop裡面的海量資料的彙總,即席查詢簡單化。hive提供了一套ql的查詢語言,以sql為基礎,使用起來很方便。

hbase是乙個分布式的基於列儲存的非關係型資料庫。hbase的查詢效率很高,主要由於查詢和展示結果。

非常超級學習網

hive是分布式的關係型資料庫。主要用來並行分布式 處理 大量資料。hive中的所有查詢除了"select * from table;"都是需要通過map\reduce的方式來執行的。由於要走map\reduce,即使乙個只有1行1列的表,如果不是通過select * from table;方式來查詢的,可能也需要8、9秒。但hive比較擅長處理大量資料。當要處理的資料很多,並且hadoop集群有足夠的規模,這時就能體現出它的優勢。

通過hive的儲存介面,hive和hbase可以整合使用。

1、hive是sql語言,通過資料庫的方式來操作hdfs檔案系統,為了簡化程式設計,底層計算方式為mapreduce。

2、hive是面向行儲存的資料庫。

3、hive本身不儲存和計算資料,它完全依賴於hdfs和mapreduce,hive中的表純邏輯。

4、hbase為查詢而生的,它通過組織起節點內所有機器的記憶體,提供乙個超大的記憶體hash表

5、hbase不是關係型資料庫,而是乙個在hdfs上開發的面向列的分布式資料庫,不支援sql。

6、hbase是物理表,不是邏輯表,提供乙個超大的記憶體hash表,搜尋引擎通過它來儲存索引,方便查詢操作。

7、hbase是列儲存。

hive只供維護用,真正查起來非常非常慢的!

這是因為它的底層是要通過mapreduce分布式計算的,hbase、hive、pig底層都是這樣的。但整體來說hadoop還是比較快的,因為它是進行海量資料儲存和分布式計算,這個速度已經很不錯了。

hive和hbase有各自不同的特徵:hive是高延遲、結構化和面向分析的,hbase是低延遲、非結構化和面向程式設計的。hive資料倉儲在hadoop上是高延遲的。

其中hbase位於結構化儲存層,hadoop hdfs為hbase提供了高可靠性的底層儲存支援,hadoop mapreduce為hbase提供了高效能的計算能力,zookeeper為hbase提供了穩定服務和failover機制。

此外,pig和hive還為hbase提供了高層語言支援,使得在hbase上進行資料統計處理變的非常簡單。 sqoop則為hbase提供了方便的rdbms資料匯入功能,使得傳統資料庫資料向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與hbase的區別

hive與hbase的區別 hive 核心將sql轉換為mapreduce 將儲存在hdfs上的結構化的資料對映成一張表,並提供類sql語句進行查詢 hive的特點 高延遲儲存的是結構化的資料 hive是面向分析,使用的hql語言 hive不能接入業務使用 hive是面向行儲存的資料倉儲工具,是一種...

Hbase與Hive的區別

一 hbase與hive的對比 hive和hbase有各自不同的特徵 hive是高延遲 結構化和面向分析的,hbase是低延遲 非結構化和面向程式設計的。hive資料倉儲在hadoop上是高延遲的。其中hbase位於結構化儲存層,hadoop hdfs為hbase提供了高可靠性的底層儲存支援,had...

Hbase與hive的區別

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