Impala是Cloudera公司主導開發的新型查詢系統,它提供SQL語義,能查詢存儲在Hadoop的HDFS和HBase中的PB級大數據。已有的Hive系統雖然也提供了SQL語義,但由於Hive底層執行使用的是MapReduce引擎,仍然是一個批處理過程,難以滿足查詢的互動性。相比之下,Impala的最大特點也是最大賣點就是它的快速。
基本介紹
- 外文名:Impala
- 開發公司:Cloudera公司
- 釋義:一種新型查詢系統
- 特點:快速
優點
- Impala不需要把中間結果寫入磁碟,省掉了大量的I/O開銷。
- 省掉了MapReduce作業啟動的開銷。MapReduce啟動task的速度很慢(默認每個心跳間隔是3秒鐘),Impala直接通過相應的服務進程來進行作業調度,速度快了很多。
- Impala完全拋棄了MapReduce這個不太適合做SQL查詢的範式,而是像Dremel一樣借鑑了MPP並行資料庫的思想另起爐灶,因此可做更多的查詢最佳化,從而省掉不必要的shuffle、sort等開銷。
- 通過使用LLVM來統一編譯運行時代碼,避免了為支持通用編譯而帶來的不必要開銷。
- 用C++實現,做了很多有針對性的硬體最佳化,例如使用SSE指令。
- 使用了支持Data locality的I/O調度機制,儘可能地將數據和計算分配在同一台機器上進行,減少了網路開銷。
功能
- Impala可以根據Apache許可證作為開源免費提供。
- Impala支持記憶體中數據處理,它訪問/分析存儲在Hadoop數據節點上的數據,而無需數據移動。
- 使用類SQL查詢訪問數據。
- Impala為HDFS中的數據提供了更快的訪問。
- 可以將數據存儲在Impala存儲系統中,如Apache HBase和Amazon s3。
- Impala支持各種檔案格式,如LZO,序列檔案,Avro,RCFile和Parquet。