Cloudera Impala 可以直接為存儲在HDFS或HBase中的Hadoop數(shù)據(jù)提供快速,交互式的SQL查詢。除了使用相同的存儲平臺外, Impala和Apache Hive一樣也使用了相同的元數(shù)據(jù),SQL語法(Hive SQL),ODBC驅(qū)動和用戶接口(Hue Beeswax),這就很方便的為用戶提供了一個相似并且統(tǒng)一的平臺來進(jìn)行批量或?qū)崟r查詢。
一、 Cloudera Impala簡介
Cloudera Impala 可以直接為存儲在HDFS或HBase中的Hadoop數(shù)據(jù)提供快速,交互式的SQL查詢。除了使用相同的存儲平臺外, Impala和Apache Hive一樣也使用了相同的元數(shù)據(jù),SQL語法(Hive SQL),ODBC驅(qū)動和用戶接口(Hue Beeswax),這就很方便的為用戶提供了一個相似并且統(tǒng)一的平臺來進(jìn)行批量或?qū)崟r查詢。
Cloudera Impala 是用來進(jìn)行大數(shù)據(jù)查詢的補(bǔ)充工具。 Impala 并沒有取代像Hive這樣基于MapReduce的分布式處理框架。Hive和其它基于MapReduce的計算框架非常適合長時間運(yùn)行的批處理作業(yè),例如那些涉及到批量 Extract、Transform、Load ,即需要進(jìn)行ETL作業(yè)。
二、 Impala的優(yōu)點(diǎn)
Impala 提供了:
- 數(shù)據(jù)科學(xué)家或數(shù)據(jù)分析師已經(jīng)熟知的SQL接口
- 能夠在Apache Hadoop 的大數(shù)據(jù)中進(jìn)行交互式數(shù)據(jù)查詢
- Single system for big data processing and analytics so customers can avoid costly modeling and ETL just for analytics
三、在CDH下Cloudera Impala如何工作
下圖顯示了在Cloudera環(huán)境中,Impala的定位。

1.Impala 由以下幾部分組成:
Impala State Store :State Store標(biāo)定了在你的環(huán)境中關(guān)于impalad實例運(yùn)行的信息。 此信息用于查找數(shù)據(jù),以便于分布式資源對查詢的 響應(yīng)。
impalad :impalad進(jìn)程運(yùn)行在datanodes上,并且響應(yīng)來自Impala shell的命令,它是Impala的服務(wù)端。impalad接受來自數(shù)據(jù)連接層和***化執(zhí)行任務(wù)調(diào)度的請求。impalad會間歇性的更新Impala State Store的名字和地址
Impala shell :Impala shell是Impala的客戶端接口,用來運(yùn)行查詢命令用來完成管理任務(wù),例如連接Impala的服務(wù)端impalad。通過ODBC或JDBC提供了一個標(biāo)準(zhǔn)化的查詢接口來完成查詢的接收和傳遞。
2.利用Impala進(jìn)行查詢步驟如下:
(1)用戶通過 Hue Beeswax,the Impala shell, 或者ODBC 這樣的客戶端接口來提交查詢請求
(2)Impala 的分布式查詢引擎通過集群來創(chuàng)建和分發(fā)查詢?nèi)蝿?wù)
(3)每個節(jié)點(diǎn)直接讀取本地的HDFS或HBase中的數(shù)據(jù)來完成部分分布式查詢?nèi)蝿?wù),以提升查詢性能。
(4)impalad將結(jié)果返回給客戶端。
四、 Impala的主要特點(diǎn)
Impala的主要特點(diǎn)
Impala提供以下支持:
常見的 Hive標(biāo)準(zhǔn)查詢語言 (HiveQL) ,包括select, joins, and aggregate 功能
HDFS和HBase的存儲格式
HDFS文件格式:TextFile, SequenceFile
壓縮編碼:Snappy, GZIP, BZIP
常見的Hive接口:
- ODBC driver
- Hue Beeswax
- Impala命令行接口
- Kerberos authentication
原文鏈接:http://blog.sina.com.cn/s/blog_475f18640101gw27.html