大資料技術Hbase和Hive詳解

好程式設計師發表於2020-12-02

  大資料技術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/,如需轉載,請註明出處,否則將追究法律責任。

相關文章