Hadoop、HDFS、Hive、Hbase之間的關系


Hadoop:是一個分布式計算的開源框架

HDFS:是Hadoop的三大核心組件之一

Hive:用戶處理存儲在HDFS中的數據,hive的意義就是把好寫的hive的sql轉換為復雜難寫的map-reduce程序。

Hbase:是一款基於HDFS的數據庫,是一種NoSQL數據庫,主要適用於海量明細數據(十億、百億)的隨機實時查詢,如日志明細、交易清單、軌跡行為等。

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-2025 CODEPRJ.COM