天天看點

Hadoop大資料平台實戰(01):Impala vs Hive的差別

Hadoop大資料生态系統重要的2個架構Apache Hive和Impala,用于在HDFS和HBase上進行大資料分析。 但Hive和Impala之間存在一些差異--Hadoop生态系統中的SQL分析引擎的競争。本文中我們會來對比兩種技術Impala vs Hive差別?

Hadoop大資料平台實戰(01):Impala vs Hive的差別

Hive介紹

Apache Hive™是開源的資料倉庫架構,基于Hadoop建構,使用SQL文法讀取Hadoop資料,分析儲存在分布式存儲中HDFS或者HBase資料庫中的大型資料集。

Hadoop大資料平台實戰(01):Impala vs Hive的差別

Hive最早由Facebook開發,後來2008年貢獻給Apache軟體基金會。 此外,Hive的用途非常廣泛,因為它支援分析存儲在Hadoop的HDFS和其他相容檔案系統中的大量資料集。 像亞馬遜S3。

Hive是一個在Hadoop叢集之上運作的開源資料倉庫和分析包。 Hive腳本使用類似SQL的語言,稱為Hive QL(查詢語言),它抽象程式設計模型并支援典型的資料倉庫互動。 Hive使開發者能夠避免接觸底層機制,如(如Java)中的有向非循環圖(DAG)或MapReduce程式編寫Tez作業,降低複雜性。

Hadoop中SQL查詢的事實标準

自2008年孵化以來,Apache Hive被認為是Hadoop中數PB資料的互動式SQL查詢的事實标準。Hive使用熟悉的JDBC接口輕松與其他關鍵資料中心技術內建。

Hive提供類SQL的語言(HiveQL),在讀取時使用模式,并将查詢透明地轉換為MapReduce任務,Apache Tez和Spark Jobs來分析資料。

Hive功能特性:

  • 提供索引加速分析處理
  • Hive支援多種類型的存儲。 如純文字,RCFIle,HBase,ORC
  • 此外,它還支援RDBMS中的中繼資料存儲
  • Hive支援SQL之類的查詢。 雖然我們可以隐式轉換為MapReduce,Tez或Spark作業
  • 要操縱字元串,日期内置使用者定義函數(UDF)

    Hive 官方網站

    http://hive.apache.org/

LLAP Hive(Live Long and Process)利用具有智能記憶體緩存的持久查詢伺服器來避免Hadoop的面向批處理的延遲問題,并提供與次數較小的資料量一樣快的亞秒查詢響應時間,而Hive on Tez繼續針對PB級資料集提供出色的批量查詢性能,性能做了優化加速。

Hive中的表與關系資料庫中的表類似,資料單元按從大到小機關的分類法進行組織。資料庫由表組成,表由分區組成。可以通過簡單的查詢語言通路資料,Hive支援覆寫或附加資料。

在特定資料庫中,表中的資料是序列化的,每個表都有一個對應的Hadoop分布式檔案系統(HDFS)目錄。每個表可以細分為多個分區,用于确定資料在表目錄的子目錄中的分布方式。分區内的資料可以進一步細分為存儲桶。

Hive支援所有常見的資料類型,如BIGINT,BINARY,BOOLEAN,CHAR,DECIMAL,DOUBLE,FLOAT,INT,SMALLINT,STRING,TIMESTAMP和TINYINT。此外,我們也可以組合原始資料類型以形成複雜的資料類型,

Impala介紹

Hadoop大資料平台實戰(01):Impala vs Hive的差別

Impala是Cloudera公司開發的全新的開源大資料分析引擎MPP,它提供類SQL文法,能處理存儲在Hadoop的HDFS和HBase中大資料。

不同于之前的Hive,雖然Hive也提供了SQLL文法,但Hive底層依賴于是MapReduce分析引擎,難以實作複雜查詢的互動性。

Impala提高了Apache Hadoop上SQL查詢性能,節約了大資料分析的時間,同時保留了熟悉的SQL文法使用者體驗。 使用Impala,可以實時查詢存儲在HDFS和Apache HBase的資料 - 支援包括SELECT,JOIN和聚合函數。 此外,Impala使用與Apache Hive相同的中繼資料,SQL文法(Hive SQL),ODBC驅動和使用者界面UI(Hue Beeswax),為批處理或實時查詢管理操作提供了熟悉且統一的平台。 (Hive開發者可以很快熟悉Impala)

Impala是一個開源的大規模并行處理(MPP)SQL引擎。 在HDFS和Apache HBase上運作查詢。 它不需要先移動或轉換資料。 很容易與整個Hadoop生态系統內建。 此外,對于開源互動式商業智能任務,Impala跨架構的統一資源管理使其成為标準。

Hadoop大資料平台實戰(01):Impala vs Hive的差別

Impala的功能包括:

  • Impala支援Hadoop分布式檔案系統(HDFS)和Apache HBase
  • Impala還識别Hadoop檔案格式,如文本,LZO,Avro,RCFile,Parquet
  • 它還支援Kerberos身份驗證
  • 支援Apache Sentry,提供基于角色的授權。

    Impala的優點:

  • 由于在資料節點上本地處理,避免了網絡傳輸的性能瓶頸。
  • 可以使用單個,開放且統一的中繼資料存儲中心。
  • 不需要昂貴的資料格式轉換,是以不會産生任何開銷。
  • 所有資料都可以立即查詢,ETL沒有延遲。
  • 所有硬體都用于Impala查詢以及MapReduce分析。
  • 隻需要一個機器池即可擴充叢集。

    官方網站:

    https://impala.apache.org/

參考:

https://hive.apache.org/