淺談Hbase和Hive的區別以及分別適用的場景,內附大數據資料
最新
01-19
Hbase和Hive都是大數據處理的重要工具,但兩者在大數據架構中處於不同位置,Hbase主要應用於實時數據查詢問題,Hive則主要解決數據處理與計算方面。在一般的大數據處理中,兩者可以配合使用。下面簡單概括一下兩者的區別。
一、區別:
1.Hbase即 HadoopDatabase 的簡稱,也就是基於Hadoop資料庫,是一種NoSQL資料庫,主要適用于海量明細數據(十億、百億)的隨機實時查詢,如交易清單、日誌明細、軌跡行為等。
2. Hive是Hadoop的數據倉庫,嚴格地講並非資料庫,主要是讓開發人員能夠通過SQL來計算和處理HDFS上的結構化數據,適用於離線的批量數據計算。
3.通過元數據來描述HDFS上的結構化文本數據,通俗點來說,就是定義一張表來描述HDFS上的結構化文本,包括各列數據名稱、數據類型等內容,便於處理數據,當前很多SQL ON Hadoop的計算引擎均用的是Hive的元數據,例如Spark SQL、Impala等;
4.基於第一點,通過SQL來處理和計算HDFS的數據,Hive會將SQL翻譯為MapReduce來處理數據。
二、關係
在大數據架構中,Hive和HBase是協作關係,總結起來有以下四點:
1.通過Hive清洗、處理和計算原始數據;
2.通過ETL工具將數據源抽取到HDFS存儲;
3.HIve清洗處理後的結果,如果是面向海量數據隨機查詢場景的可存入Hbase;
4.數據應用從HBase查詢數據。


TAG:科技大咖匯 |