大資料技術Hbase和Hive詳解
大資料技術Hbase 和 Hive 詳解, 今天給大家介紹一下關於零基礎學習大資料影片教程之HBASE 和 HIVE 是多麼重要的技術,那麼兩者有什麼區別呢 ? 下面我們一起來看一下吧。
ApacheHive 是一個構建在 hadoop 基礎設施之上的資料倉儲。透過 Hive 可以使用 HQL 語言查詢存放在 HDFS 上的資料。 HQL 是一種類 SQL 語言,這種語言最終被轉化為 Map/Reduce. 雖然 Hive 提供了 SQL 查詢功能,但是 Hive 不能夠進行互動查詢–因為它只能夠在 Haoop 上批次的執行 Hadoop 。
ApacheHBase 是一種 Key/Value 系統,它執行在 HDFS 之上。和 Hive 不一樣, Hbase 的能夠在它的資料庫上實時執行,而不是執行 MapReduce 任務。 Hive 被分割槽為表格,表格又被進一步分割為列簇。列簇必須使用 schema 定義,列簇將某一型別列集合起來 ( 列不要求 schema 定義 ) 。例如,“ message ”列簇可能包含:“ to ”,” from ”“ date ”,“ subject ”,和” body ”。每一個 key/value 對在 Hbase 中被定義為一個 cell ,每一個 key 由 row-key ,列簇、列和時間戳。在 Hbase 中,行是 key/value 對映的集合,這個對映透過 row-key 來唯一標識。 Hbase 利用 Hadoop 的基礎設施,可以利用通用的裝置進行水平的擴充套件。
兩者的特點
Hive 幫助熟悉 SQL 的人執行 MapReduce 任務。因為它是 JDBC 相容的,同時,它也能夠和現存的 SQL 工具整合在一起。執行 Hive 查詢會花費很長時間,因為它會預設遍歷表中所有的資料。雖然有這樣的缺點,一次遍歷的資料量可以透過 Hive 的分割槽機制來控制。分割槽允許在資料集上執行過濾查詢,這些資料集儲存在不同的資料夾內,查詢的時候只遍歷指定資料夾 ( 分割槽 ) 中的資料。這種機制可以用來,例如,只處理在某一個時間範圍內的檔案,只要這些檔名中包括了時間格式。
HBase 透過儲存 key/value 來工作。它支援四種主要的操作:增加或者更新行,檢視一個範圍內的 cell ,獲取指定的行,刪除指定的行、列或者是列的版本。版本資訊用來獲取歷史資料 ( 每一行的歷史資料可以被刪除,然後透過 Hbasecompactions 就可以釋放出空間 ) 。雖然 HBase 包括表格,但是 schema 僅僅被表格和列簇所要求,列不需要 schema 。 Hbase 的表格包括增加 / 計數功能。
限制
Hive 目前不支援更新操作。另外,由於 hive 在 hadoop 上執行批次操作,它需要花費很長的時間,通常是幾分鐘到幾個小時才可以獲取到查詢的結果。 Hive 必須提供預先定義好的 schema 將檔案和目錄對映到列,並且 Hive 與 ACID 不相容。
HBase 查詢是透過特定的語言來編寫的,這種語言需要重新學習。類 SQL 的功能可以透過 ApachePhonenix 實現,但這是以必須提供 schema 為代價的。另外, Hbase 也並不是相容所有的 ACID 特性,雖然它支援某些特性。最後但不是最重要的–為了執行 Hbase , Zookeeper 是必須的, zookeeper 是一個用來進行分散式協調的服務,這些服務包括配置服務,維護元資訊和名稱空間服務。
應用場景
Hive 適合用來對一段時間內的資料進行分析查詢,例如,用來計算趨勢或者網站的日誌。 Hive 不應該用來進行實時的查詢。因為它需要很長時間才可以返回結果。
Hbase 非常適合用來進行大資料的實時查詢。 Facebook 用 Hbase 進行訊息和實時的分析。它也可以用來統計 Facebook 的連線數。
Hive 和 Hbase 是兩種基於 Hadoop 的不同大資料技術– Hive 是一種類 SQL 的引擎,並且執行 MapReduce 任務, Hbase 是一種在 Hadoop 之上的 NoSQL 的 Key/vale 資料庫。當然,這兩種工具是可以同時使用的。就像用 Google 來搜尋,用 FaceBook 進行社交一樣, Hive 可以用來進行統計查詢, HBase 可以用來進行實時查詢,資料也可以從 Hive 寫到 Hbase ,設定再從 Hbase 寫回 Hive 。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69913864/viewspace-2738865/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 大資料技術-hive視窗函式詳解大資料Hive函式
- 圖解大資料 | 海量資料庫查詢-Hive與HBase詳解圖解大資料資料庫Hive
- 大資料技術 - Hbase大資料
- 大資料技術 - Hive大資料Hive
- 一篇文章詳解大資料技術和應用場景 大資料大資料
- Hbase、Hive、Impala資料同步簡單示例Hive
- 詳解Android資料儲存技術Android
- Hive和Hbase的區別Hive
- 資料庫連線池技術詳解資料庫
- HBase vs HiveHive
- 好程式設計師大資料培訓分享如何區分Hive與HBase程式設計師大資料Hive
- 資料科學家需要掌握的十大統計技術詳解資料科學
- Hive資料匯入HBase引起資料膨脹引發的思考Hive
- 大資料——HBase基礎大資料
- 大資料技術 - Kyuubi大資料
- 大資料技術 - SuperSQL大資料SQL
- 大資料技術 - Directus大資料
- 大資料技術 - Druid大資料UI
- 大資料技術 - Ververica大資料
- 大資料技術 - Phoenix大資料
- 大資料技術 - Azkaban大資料
- 大資料技術 - Airflow大資料AI
- 大資料技術 - DolphinScheduler大資料
- 大資料技術 - DataX大資料
- 大資料技術 - Canal大資料
- 大資料技術 - Maxwell大資料
- 大資料技術 - Zookeeper大資料
- 大資料技術 - StarRocks大資料
- 大資料技術 - StreamX大資料
- 大資料技術 - Debezium大資料
- 大資料技術 - DragonflyDB大資料Go
- 大資料技術體系1(清華:大資料技術體系)大資料
- HBase Replication詳解
- Hive技術初探Hive
- 大資料4.2 -- hive資料庫大資料Hive資料庫
- 萬字詳解資料安全關鍵技術之資料脫敏
- Hbase和Hive的特點,和應用場景Hive
- 【大資料開發】Hive——Hive函式大全大資料Hive函式