{eval=Array;=+count(Array);}

国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

問答專欄Q & A COLUMN

hbase和hive的差別是什么,各自適用在什么場景中?

wizChenwizChen 回答0 收藏1
收藏問題

5條回答

monw3c

monw3c

回答于2022-06-28 14:56

一、區別

1、Hbase: 基于Hadoop數據庫,是一種NoSQL數據庫;HBase表是物理表,適合存放非結構化的數據。

2、hive:本身不存儲數據,通過SQL來計算和處理HDFS上的結構化數據,依賴HDFS和MapReduce;hive中的表是純邏輯表。

Hbase主要解決實時數據查詢問題,

Hive主要解決數據處理和計算問題,

二者通常協作配合使用。

二、適用場景

1、Hbase:海量明細數據的隨機實時查詢,采集的網頁數據存儲;

2、hive:適用于離線的批量數據計算,一般用于查詢分析統計。

評論0 贊同0
  •  加載中...
bergwhite

bergwhite

回答于2022-06-28 14:56

這兩個東西我都用過一段時間,很高興一起來討論這個問題。

首先來說一下這兩者都是hadoop大數據生態圈中的一員。底層的數據存儲都是使用的hdfs,除此之外其實兩者的關系并不大。

下面簡單的分別說一下兩者

Hbase



1. Hbase的本質就是一個數據庫,一個nosql

2. 是一個具有主備模式、分布式、可動態增刪節點的分布式存儲系統

3.厲害之處:使用普通的硬件配置,實現了存儲并處理大量的數據

4. 特定 是列式存儲,所以是nosql

hive



1.hive不能算做是數據庫,只能是hadoop的一個數據倉庫工具,

2 .可以將結構化的數據文件映射為一張 數據庫表

3.提供了HQL(類sql)查詢功能

4.在操作時,實際上是利用MapReduce去處理hdfs的數據

綜合區別

1. hive是為了簡化MapReduce而用的,并不是用類存放數據的,本質上還是在做運算,

Hbase是真正的數據庫,是用來存放超大量數據的,且插入、查詢速度極快

2.用途:hive用來做數據統計分析,分析hdfs數據

hbase用來做分布式nosql數據庫

上述就是對兩者的介紹和區別,歡迎大家評論討論! 關愛程序媛!!!祝大家出任CTO,喜歡的歡迎關注,點贊!!!哈哈。

評論0 贊同0
  •  加載中...
fjcgreat

fjcgreat

回答于2022-06-28 14:56

Hbase是什么?

Hbase是一個架構在Hdfs文件系統上的列式存儲,是開源的,分布式,面向列的數據庫。適合于非結構化數據存儲的數據庫。

Hbase是一個高可靠、高性能、面向列、可伸縮的分布式存儲系統,可以在廉價的PC Server搭建大規模結構化存儲集群.

1,HBase位于Hadoop生態系統的結構化存儲層。


2,HDFS作為其底層的文件存儲

3,MapReduct為Hbase提供高性能的計算能力

4,Zookeeper為HBase提供了穩定的服務和failover的能力

Hive是什么?

hive是一個基于Hadoop的一個數據倉庫工具。可以將結構化數據映射為一張數據庫表,并且提供sql的查詢能力,可以將sql換換為MapReduce任務進行。

下面我們看看Hive的架構圖:

1,用戶接口,hive主要有三個接口,CLI(CLI啟動的時候會同時氣筒一個Hive的副本),Client(hive的客戶端,連結hive server),web UI(通過瀏覽器訪問)

2,元數據存儲,hive將元數據存儲在數據庫中如:mysql。

3,Driver(解釋器、編譯器、優化器、執行器):完成詞法分析,語法分析,優化,編譯,優化以及查詢計劃的生成,隨后由MapReduce使用。

4,Hadoop ,hive的數據存儲在Hdfs中。大部分的查詢由MapReduce完成。

Hbase


上面我們分別看了Hbase的特點,hive的特點,那么Hbase和Hive的差別是什么以及各自的使用場景是什么?

Hbase和Hive 二者都是以Hdfs為文件存儲。

Hbase支持列擴展,可以對單元格修改。采取K-V的設計,因此查詢效率比較高,一般用于延遲忍耐低的場景;還有就是經常需要擴展屬性,修改屬性場景。

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

下面看看hbase具體的應用場景:

千萬并發、PB存儲、KV基礎存儲、動態列、強同步、稀疏表、二級索引、SQL



對象存儲:頭條類、新聞類的的新聞、網頁、圖片存儲在HBase之中,一些病毒公司的病毒庫也是存儲在HBase之中。

時序數據:HBase之上有OpenTSDB模塊,可以滿足時序類場景的需求。

推薦畫像:用戶的畫像,是一個比較大的稀疏矩陣。螞蟻的風控就是構建在HBase之上。

時空數據:主要是軌跡、氣象網格之類,滴滴打車的軌跡數據主要存在HBase之中,另外在技術所有大一點的數據量的車聯網企業,數據都是存在HBase之中

CubeDB OLAP:Kylin一個cube分析工具,底層的數據就是存儲在HBase之中,不少客戶自己基于離線計算構建cube存儲在hbase之中,滿足在線報表查詢的需求。

消息/訂單:在電信領域、銀行領域,不少的訂單查詢底層的存儲,另外不少通信、消息同步的應用構建在HBase之上。

消息/訂單:在電信領域、銀行領域,不少的訂單查詢底層的存儲,另外不少通信、消息同步的應用構建在HBase之上。


Hive 不能支持列擴展,支持追加,好像在新版本中可以支持修改,但是效率比較低。Hive處理的數據的吞吐量高,文件越大,hive的優勢就約明顯。一半用于 延遲忍耐高的場景。

下面再來看看Hive的具體使用場景:

1,分析網絡日志。

2,ETL清洗數據。

3,構建數據倉庫。

4,數據挖掘

那么Hbase和Hive在具體的使用場景各自在什么位置呢?我們可以通過下圖來了解下:

通過ETL工具將數據源抽取到HDFS存儲,通過hive清洗處理和計算原始數據,對數據進行標準化,統一化。如果是面向海量的查詢場景可以存儲Hbase,數據應用從Hbase中查詢數據。


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


數據僧,祝愿每個在數據道路上的人越走越好。歡迎大家在評論區留言,大家一起討論。

評論0 贊同0
  •  加載中...
starsfun

starsfun

回答于2022-06-28 14:56

HBase是一個數據模型,類似于Google的大表,旨在提供對大量結構化數據的快速隨機訪問。本教程提供了HBase的介紹,在Hadoop文件系統上設置HBase的過程以及與HBase shell交互的方法。它還介紹了如何使用java連接到HBase,以及如何使用java執行HBase的基本操作。http://codingdict.com/article/8125


Hive是一個數據倉庫基礎設施工具,用于處理Hadoop中的結構化數據。它位于Hadoop的頂部,用于匯總大數據,并使查詢和分析變得輕松。這是一個簡短的教程,介紹如何將Apache Hive HiveQL與Hadoop分布式文件系統結合使用。本教程可以成為您成為Hive成功Hadoop開發人員的第一步。http://codingdict.com/article/8149

評論0 贊同0
  •  加載中...
tyheist

tyheist

回答于2022-06-28 14:56

要給你回答這兩個所有的底層為不太合適、我就給你舉一個易懂的例子。


Hbase 對應就的就是 Mongodb 非關系型數據

Hive 對應的就是 Mysql 關系型數據庫


如果你要深入研究、單單一個組件都能讓你隨便研究一年。

所以先從業務出發去考慮使用哪個、量上來了再研究優化。

評論0 贊同0
  •  加載中...

最新活動

您已邀請0人回答 查看邀請

我的邀請列表

  • 擅長該話題
  • 回答過該話題
  • 我關注的人
向幫助了您的網友說句感謝的話吧!
付費偷看金額在0.1-10元之間
<