Hadoop大資料生态系統重要的2個架構Apache Hive和Impala,用于在HDFS和HBase上進行大資料分析。 但Hive和Impala之間存在一些差異--Hadoop生态系統中的SQL分析引擎的競争。本文中我們會來對比兩種技術Impala vs Hive差別?
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnLmRTYiNmNyQjZhZWN4YmYhNjYhVjY5ImZ0E2NjNTMwYmNzYGO1ITM08CXt92Yu4GZjlGbh5SZslmZxl3Lc9CX6MHc0RHaiojIsJye.png)
Hive介紹
Apache Hive™是開源的資料倉庫架構,基于Hadoop建構,使用SQL文法讀取Hadoop資料,分析儲存在分布式存儲中HDFS或者HBase資料庫中的大型資料集。
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介紹
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跨架構的統一資源管理使其成為标準。
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/