回覆列表
  • 1 # 加米穀大資料

    一、區別:

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

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

    Hbase主要解決實時資料查詢問題,

    Hive主要解決資料處理和計算問題,

    二者通常協作配合使用。

    二、適用場景:

    1、Hbase:海量明細資料的隨機實時查詢,採集的網頁資料儲存;

    2、hive:適用於離線的批次資料計算,一般用於查詢分析統計。

  • 2 # 程式設計字典

    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

  • 3 # 資料僧

    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之上有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更加偏向於資料分析。

  • 4 # IT實戰聯盟

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

    Hbase 對應就的就是 Mongodb 非關係型資料

    Hive 對應的就是 Mysql 關係型資料庫

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

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

  • 5 # 資料程式媛

    首先來說一下這兩者都是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資料庫

  • 中秋節和大豐收的關聯?
  • 臉夾兩邊長斑是什麼原因?