大資料之hadoop / hive / hbase 的區別是什麼?有什麼應用場景?
1. hadoop
它是一個
分散式計算+分散式檔案系統,前者其實就是
MapReduce,後者是
HDFS 。後者可以獨立執行,前者可以選擇性使用,也可以不使用
2. hive
通俗的說是一個
資料倉儲,倉庫中的資料是被hdfs管理的資料檔案,它支援類似sql語句的功能,你可以透過該語句完成分散式環境下的計算功能,
hive會把語句轉換成MapReduce,然後交給hadoop執行。這裡的計算,僅限於查詢和分析,而不是更新、增加和刪除。
它的優勢是對歷史資料進行處理,用時下流行的說法是離線計算,因為它的
底層是MapReduce,MapReduce在實時計算上效能很差。它的做法是把資料檔案載入進來作為一個hive表(或者外部表),讓你覺得你的sql操作的是傳統的表。
3. hbase
通俗的說,hbase的作用類似於資料庫,傳統資料庫管理的是集中的本地資料檔案,而
hbase基於hdfs實現對分散式資料檔案的管理,比如增刪改查。也就是說,hbase只是利用hadoop的hdfs幫助其管理資料的持久化檔案(HFile),
它跟MapReduce沒任何關係。
hbase的優勢在於實時計算,所有實時資料都直接存入hbase中,客戶端透過API直接訪問hbase,實現實時計算。由於它使用的是nosql,或者說是列式結構,從而提高了查詢效能,使其能運用於大資料場景,這是它跟MapReduce的區別。
總結
hadoop是hive和hbase的基礎,hive依賴hadoop,而hbase僅依賴hadoop的hdfs模組。
hive適用於
離線資料的分析,操作的是通用格式的(如通用的日誌檔案)、被hadoop管理的資料檔案,它支援類sql,比編寫MapReduce的java程式碼來的更加方便,它的定位是資料倉儲,儲存和分析歷史資料。
hbase適用於
實時計算,採用列式結構的nosql,操作的是自己生成的特殊格式的HFile、被hadoop管理的資料檔案,它的定位是資料庫,或者叫DBMS。
hive可以直接操作hdfs中的檔案作為它的表的資料,也可以使用hbase資料庫作為它的表。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29209863/viewspace-2754686/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 你知道什麼是PAJAX嗎?它和AJAX有什麼區別?它的應用場景有哪些?
- LoRa閘道器是什麼?有什麼應用場景?
- 什麼是Linux?和Unix之間有什麼較大的區別?Linux
- JS每日一題: 前端的快取有哪些?都適用什麼場景?區別是什麼?JS每日一題前端快取
- Git的reset和revert有什麼區別?它們分別適用於什麼場景?Git
- 資料庫是什麼意思?有什麼用?有哪些型別?資料庫型別
- SID是什麼?用於什麼場景
- 什麼是svg?說說svg有什麼運用場景?SVG
- 大資料與Hadoop之間是什麼關係?大資料Hadoop
- ::first-letter有什麼應用場景?
- 什麼是大資料?與Python之間有什麼關聯?大資料Python
- MySQL、NoSQL分別是什麼?有什麼區別?MySql
- python不同資料型別之間的區別有什麼?Python資料型別
- cookie是什麼?和session有什麼區別?CookieSession
- Java和Python是什麼?有什麼區別?JavaPython
- 什麼是python?與PHP有什麼區別?PythonPHP
- 什麼是 MicroPython?和CPython有什麼區別?Python
- Python和Go是什麼?它們之間有什麼區別?PythonGo
- CSRF與SSRF是什麼?它們之間有什麼區別?
- 什麼是大資料?Python和大資料有什麼聯絡?大資料Python
- Hbase和Hive的特點,和應用場景Hive
- 大資料和Hadoop什麼關係?為什麼大資料要學習Hadoop?大資料Hadoop
- 什麼場景應該用MongoDB ?MongoDB
- HDFS 01 - HDFS是什麼?它的適用場景有哪些?它的架構是什麼?架構
- Session是什麼?它與Cookie有什麼區別?SessionCookie
- xpgu是什麼 xgpu和xgp有什麼區別GPU
- 什麼是大資料?大資料能做什麼?大資料
- 什麼是大資料?大資料開發是做什麼的?大資料
- 解釋下什麼是事件代理?應用場景?事件
- 為什麼說儲存是區塊鏈最佳落地應用場景區塊鏈
- AI智慧與大資料的本質區別是什麼?AI大資料
- HBase 教程:什麼是 HBase?
- 什麼是閉包?有哪些使用場景?優缺點是什麼?
- 雲電視和智慧電視是什麼,之間有什麼區別?
- linux和ubuntu區別是什麼?有什麼關係?LinuxUbuntu
- 原生IP是什麼?與其他IP有什麼區別?
- 什麼是報表工具?和 EXCEL 有什麼區別?Excel
- Java 介面和抽象類是什麼,有什麼區別Java抽象