初探Apache Impala
Impala是什么?
Impala提高了Apache Hadoop上SQL查詢性能的標(biāo)準(zhǔn),同時(shí)保留了熟悉的用戶體驗(yàn)。使用Impala,您可以實(shí)時(shí)查詢存儲(chǔ)在HDFS或Apache HBase中的數(shù)據(jù)-包括SELECT,JOIN和聚合函數(shù)。此外,Impala使用與Apache Hive相同的元數(shù)據(jù),SQL語法(Hive SQL),ODBC驅(qū)動(dòng)程序和用戶界面(Hue Beeswax),為面向批處理或?qū)崟r(shí)查詢提供了一個(gè)熟悉且統(tǒng)一的平臺(tái)。(因此,Hive用戶可以以很少的設(shè)置開銷使用Impala。)它是一個(gè)用C ++和Java編寫的開源軟件。 與其他Hadoop的SQL引擎相比,它提供了高性能和低延遲。換句話說,Impala是性能最高的SQL引擎(提供類似RDBMS的體驗(yàn)),它提供了訪問存儲(chǔ)在Hadoop分布式文件系統(tǒng)中的數(shù)據(jù)的最快方法。
架構(gòu):
為了避免延遲,Impala避開了MapReduce通過與商業(yè)并行RDBMS中非常相似的專用分布式查詢引擎直接訪問數(shù)據(jù)。其結(jié)果是,性能比Hive快了幾個(gè)數(shù)量級(jí),具體取決于查詢和配置的類型。
? ?優(yōu)點(diǎn)
- Impala不需要把中間結(jié)果寫入磁盤,省掉了大量的I/O開銷。
- 省掉了MapReduce作業(yè)啟動(dòng)的開銷。MapReduce啟動(dòng)task的速度很慢(默認(rèn)每個(gè)心跳間隔是3秒鐘),Impala直接通過相應(yīng)的服務(wù)進(jìn)程來進(jìn)行作業(yè)調(diào)度,速度快了很多。
- Impala完全拋棄了MapReduce這個(gè)不太適合做SQL查詢的范式,而是像Dremel一樣借鑒了MPP并行數(shù)據(jù)庫的思想另起爐灶,因此可做更多的查詢優(yōu)化,從而省掉不必要的shuffle、sort等開銷。
- 通過使用LLVM來統(tǒng)一編譯運(yùn)行時(shí)代碼,避免了為支持通用編譯而帶來的不必要開銷。
- 用C++實(shí)現(xiàn),做了很多有針對(duì)性的硬件優(yōu)化,例如使用SSE指令。
- 使用了支持Data locality的I/O調(diào)度機(jī)制,盡可能地將數(shù)據(jù)和計(jì)算分配在同一臺(tái)機(jī)器上進(jìn)行,減少了網(wǎng)絡(luò)開銷。
?
? 功能
- Impala可以根據(jù)Apache許可證作為開源免費(fèi)提供。
- Impala支持內(nèi)存中數(shù)據(jù)處理,它訪問/分析存儲(chǔ)在Hadoop數(shù)據(jù)節(jié)點(diǎn)上的數(shù)據(jù),而無需數(shù)據(jù)移動(dòng)。
- 使用類SQL查詢?cè)L問數(shù)據(jù)。
- Impala為HDFS中的數(shù)據(jù)提供了更快的訪問。
- 可以將數(shù)據(jù)存儲(chǔ)在Impala存儲(chǔ)系統(tǒng)中,如Apache HBase和Amazon s3。
- Impala支持各種文件格式,如LZO,序列文件,Avro,RCFile和Parquet。
對(duì)于關(guān)系數(shù)據(jù)庫和Impala
Impala使用類似于SQL和HiveQL的Query語言。 下表描述了SQL和Impala查詢語言之間的一些關(guān)鍵差異。
Hive,Hbase和Impala
雖然Cloudera Impala使用與Hive相同的查詢語言,元數(shù)據(jù)和用戶界面,但在某些方面它與Hive和HBase不同。 下表介紹了HBase,Hive和Impala之間的比較分析。
?
所有這三個(gè)數(shù)據(jù)庫?-?
是NOSQL數(shù)據(jù)庫。
可用作開源。
支持服務(wù)器端腳本。
按照ACID屬性,如Durability和Concurrency。
使用分片進(jìn)行分區(qū)。
部分摘自:https://blog.csdn.net/linxiyimeng007/article/details/80943378
總結(jié)
以上是生活随笔為你收集整理的初探Apache Impala的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一份非常完整的MySQL规范
- 下一篇: 高大上的介绍实时流式计算!