Hbase和Hive的特點和應用場景

2022-01-14 12:30:46 字數 1337 閱讀 7324

一、hbase是什麼?

hbase是乙個架構在hdfs檔案系統上的列式儲存,是開源的,分布式,面向列的資料庫。適合於非結構化資料儲存的資料庫。

hbase是乙個高可靠、高效能、面向列、可伸縮的分布式儲存系統,可以在廉價的pc server搭建大規模結構化儲存集群。

1、hbase位於hadoop生態系統的結構化儲存層。

2、hdfs作為其底層的檔案儲存

3、mapreduct為hbase提供高效能的計算能力

4、zookeeper為hbase提供了穩定的服務和failover的能力

二、hive是什麼?

hive是乙個基於hadoop的乙個資料倉儲工具。可以將結構化資料對映為一張資料庫表,並且提供sql的查詢能力,可以將sql換換為mapreduce任務進行。

1,使用者介面,hive主要有三個介面,cli(cli啟動的時候會同時氣筒乙個hive的副本),client(hive的客戶端,鏈結hive server),web ui(通過瀏覽器訪問)

2,元資料儲存,hive將元資料儲存在資料庫中如:mysql。

3,driver(直譯器、編譯器、優化器、執行器):完成詞法分析,語法分析,優化,編譯,優化以及查詢計畫的生成,隨後由mapreduce使用。

4,hadoop ,hive的資料儲存在hdfs中。大部分的查詢由mapreduce完成。

三、hbase和hive的差別是什麼以及各自的使用場景是什麼?

hbase和hive 二者都是以hdfs為檔案儲存。

hbase支援列擴充套件,可以對單元格修改。採取k-v的設計,因此查詢效率比較高,一般用於延遲忍耐低的場景;還有就是經常需要擴充套件屬性,修改屬性場景。

hbase的查詢一般通過命令視窗進行,語句比較負責,但是hive的採用標準的sql語法,門檻低,上手簡單。當然hbase也有phoenix可以去支援 sql這樣的語法操作。

2、hive的具體使用場景:

hive 不能支援列擴充套件,支援追加,好像在新版本中可以支援修改,但是效率比較低。hive處理的資料的吞吐量高,檔案越大,hive的優勢就約明顯。一半用於 延遲忍耐高的場景。

分析網路日誌。

etl清洗資料。

構建資料倉儲。

資料探勘

最後在總結:hbase和hive本身都不能儲存資料。二者都是對hdfs上的檔案在做了一次組織。從而適應不同的場景。hbase 在與查詢,動態列場景更有優勢,但是無法進行資料分析和挖掘。二hive本身無法在低延遲的場景下使用。hive可以處理大量資料的etl清洗。構建統一的標準的資料倉儲,從而提供基礎資料,共上層資料分析。所以hive更加偏向於資料分析。

**:

Hive和HBase的區別

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

hbase和hive的區別

hive 不想用程式語言開發mapreduce的朋友比如db們,熟悉sql的朋友可以使用hive開脫機的進行資料處理與分析工作。起源於facebook,hive在hadoop中扮演資料倉儲的角色。建立在hadoop集群的最頂層,對儲存在hadoop群上的資料提供類sql的介面進行操作。你可以用 hi...

Hive和HBase的區別

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