Hive與HBase的區別與聯系


Hive與HBase的區別與聯系

二者區別

Hive:Hive是基於Hadoop的一個數據倉庫工具,可以將結構化的數據文件映射為一張數據庫表,並提供簡單的sql查詢功能。

  • Hive本身不存儲和計算數據,它完全依賴於HDFS和MapReduce,Hive中的表純邏輯。hive需要用到hdfs存儲文件,需要用到MapReduce計算框架。
  • hive可以認為是map-reduce的一個包裝。hive的意義就是把好寫的hive的sql轉換為復雜難寫的map-reduce程序。

HBase:HBase是Hadoop的數據庫,一個分布式、可擴展、大數據的存儲。

  • hbase是物理表,不是邏輯表,提供一個超大的內存hash表,搜索引擎通過它來存儲索引,方便查詢操作
  • hbase可以認為是hdfs的一個包裝。他的本質是數據存儲,是個NoSql數據庫;hbase部署於hdfs之上,並且克服了hdfs在隨機讀寫方面的缺點。

二者聯系

Hbase和Hive在大數據架構中處在不同位置,Hbase主要解決實時數據查詢問題,Hive主要解決數據處理和計算問題,一般是配合使用。

在大數據架構中,Hive和HBase是協作關系,數據流一般如下圖:

  1. 通過ETL工具將數據源抽取到HDFS存儲;
  2. 通過Hive清洗、處理和計算原始數據;
  3. HIve清洗處理后的結果,如果是面向海量數據隨機查詢場景的可存入Hbase
  4. 數據應用從HBase查詢數據;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2024 CODEPRJ.COM