新聞中心
什么是Impala?
Impala是用于處理存儲在Hadoop集群中的大量數(shù)據(jù)的MPP(大規(guī)模并行處理)SQL查詢引擎。 它是一個用C ++和Java編寫的開源軟件。 與其他Hadoop的SQL引擎相比,它提供了高性能和低延遲。

創(chuàng)新互聯(lián)公司是一家集成都做網(wǎng)站、網(wǎng)站建設(shè)、網(wǎng)站頁面設(shè)計、網(wǎng)站優(yōu)化SEO優(yōu)化為一體的專業(yè)網(wǎng)站設(shè)計公司,已為成都等多地近百家企業(yè)提供網(wǎng)站建設(shè)服務(wù)。追求良好的瀏覽體驗,以探求精品塑造與理念升華,設(shè)計最適合用戶的網(wǎng)站頁面。 合作只是第一步,服務(wù)才是根本,我們始終堅持講誠信,負責(zé)任的原則,為您進行細心、貼心、認真的服務(wù),與眾多客戶在蓬勃發(fā)展的市場環(huán)境中,互促共生。
換句話說,Impala是性能最高的SQL引擎(提供類似RDBMS的體驗),它提供了訪問存儲在Hadoop分布式文件系統(tǒng)中的數(shù)據(jù)的最快方法。
為什么選擇Impala?
Impala通過使用標準組件(如HDFS,HBase,Metastore,YARN和Sentry)將傳統(tǒng)分析數(shù)據(jù)庫的SQL支持和多用戶性能與Apache Hadoop的可擴展性和靈活性相結(jié)合。
-
使用Impala,與其他SQL引擎(如Hive)相比,用戶可以使用SQL查詢以更快的方式與HDFS或HBase進行通信。
-
Impala可以讀取Hadoop使用的幾乎所有文件格式,如Parquet,Avro,RCFile。
Impala將相同的元數(shù)據(jù),SQL語法(Hive SQL),ODBC驅(qū)動程序和用戶界面(Hue Beeswax)用作Apache Hive,為面向批量或?qū)崟r查詢提供熟悉且統(tǒng)一的平臺。
與Apache Hive不同,Impala不基于MapReduce算法。 它實現(xiàn)了一個基于守護進程的分布式架構(gòu),它負責(zé)在同一臺機器上運行的查詢執(zhí)行的所有方面。
因此,它減少了使用MapReduce的延遲,這使Impala比Apache Hive快。
Impala的優(yōu)點
以下是Cloudera Impala的一些值得注意的優(yōu)點的列表。
-
使用impala,您可以使用傳統(tǒng)的SQL知識以極快的速度處理存儲在HDFS中的數(shù)據(jù)。
-
由于在數(shù)據(jù)駐留(在Hadoop集群上)時執(zhí)行數(shù)據(jù)處理,因此在使用Impala時,不需要對存儲在Hadoop上的數(shù)據(jù)進行數(shù)據(jù)轉(zhuǎn)換和數(shù)據(jù)移動。
-
使用Impala,您可以訪問存儲在HDFS,HBase和Amazon s3中的數(shù)據(jù),而無需了解Java(MapReduce作業(yè))。您可以使用SQL查詢的基本概念訪問它們。
-
為了在業(yè)務(wù)工具中寫入查詢,數(shù)據(jù)必須經(jīng)歷復(fù)雜的提取 - 變換負載(ETL)周期。但是,使用Impala,此過程縮短了。加載和重組的耗時階段通過新技術(shù)克服,如探索性數(shù)據(jù)分析和數(shù)據(jù)發(fā)現(xiàn),使過程更快。
-
Impala正在率先使用Parquet文件格式,這是一種針對數(shù)據(jù)倉庫場景中典型的大規(guī)模查詢進行優(yōu)化的柱狀存儲布局。
Impala的功能
以下是cloudera Impala的功能 -
-
Impala可以根據(jù)Apache許可證作為開源免費提供。
-
Impala支持內(nèi)存中數(shù)據(jù)處理,即,它訪問/分析存儲在Hadoop數(shù)據(jù)節(jié)點上的數(shù)據(jù),而無需數(shù)據(jù)移動。
-
您可以使用Impala使用類SQL查詢訪問數(shù)據(jù)。
-
與其他SQL引擎相比,Impala為HDFS中的數(shù)據(jù)提供了更快的訪問。
-
使用Impala,您可以將數(shù)據(jù)存儲在存儲系統(tǒng)中,如HDFS,Apache HBase和Amazon s3。
-
您可以將Impala與業(yè)務(wù)智能工具(如Tableau,Pentaho,Micro策略和縮放數(shù)據(jù))集成。
-
Impala支持各種文件格式,如LZO,序列文件,Avro,RCFile和Parquet。
-
Impala使用Apache Hive的元數(shù)據(jù),ODBC驅(qū)動程序和SQL語法。
關(guān)系數(shù)據(jù)庫和Impala
Impala使用類似于SQL和HiveQL的Query語言。 下表描述了SQL和Impala查詢語言之間的一些關(guān)鍵差異。
| Impala | 關(guān)系型數(shù)據(jù)庫 |
|---|---|
| Impala使用類似于HiveQL的類似SQL的查詢語言。 | 關(guān)系數(shù)據(jù)庫使用SQL語言。 |
| 在Impala中,您無法更新或刪除單個記錄。 | 在關(guān)系數(shù)據(jù)庫中,可以更新或刪除單個記錄。 |
| Impala不支持事務(wù)。 | 關(guān)系數(shù)據(jù)庫支持事務(wù)。 |
| Impala不支持索引。 | 關(guān)系數(shù)據(jù)庫支持索引。 |
| Impala存儲和管理大量數(shù)據(jù)(PB)。 | 與Impala相比,關(guān)系數(shù)據(jù)庫處理的數(shù)據(jù)量較少(TB)。 |
Hive,Hbase和Impala
雖然Cloudera Impala使用與Hive相同的查詢語言,元數(shù)據(jù)和用戶界面,但在某些方面它與Hive和HBase不同。 下表介紹了HBase,Hive和Impala之間的比較分析。
| HBase | Hive | Impala |
|---|---|---|
| HBase是基于Apache Hadoop的寬列存儲數(shù)據(jù)庫。 它使用BigTable的概念。 | Hive是一個數(shù)據(jù)倉庫軟件。 使用它,我們可以訪問和管理基于Hadoop的大型分布式數(shù)據(jù)集。 | Impala是一個管理,分析存儲在Hadoop上的數(shù)據(jù)的工具。 |
| HBase的數(shù)據(jù)模型是寬列存儲。 | Hive遵循關(guān)系模型。 | Impala遵循關(guān)系模型。 |
| HBase是使用Java語言開發(fā)的。 | Hive是使用Java語言開發(fā)的。 | Impala是使用C ++開發(fā)的。 |
| HBase的數(shù)據(jù)模型是無模式的。 | Hive的數(shù)據(jù)模型是基于模式的。 | Impala的數(shù)據(jù)模型是基于模式的。 |
| HBase提供Java,RESTful和Thrift API。 | Hive提供JDBC,ODBC,Thrift API。 | Impala提供JDBC和ODBC API。 |
| 支持C,C#,C ++,Groovy,Java PHP,Python和Scala等編程語言。 | 支持C ++,Java,PHP和Python等編程語言。 | Impala支持所有支持JDBC / ODBC的語言。 |
| HBase提供對觸發(fā)器的支持。 | Hive不提供任何觸發(fā)器支持。 | Impala不提供對觸發(fā)器的任何支持。 |
所有這三個數(shù)據(jù)庫 -
-
是NOSQL數(shù)據(jù)庫。
-
可用作開源。
-
支持服務(wù)器端腳本。
-
按照ACID屬性,如Durability和Concurrency。
-
使用分片進行分區(qū)。
Impala的缺點
使用Impala的一些缺點如下 -
- Impala不提供任何對序列化和反序列化的支持。
- Impala只能讀取文本文件,而不能讀取自定義二進制文件。
- 每當(dāng)新的記錄/文件被添加到HDFS中的數(shù)據(jù)目錄時,該表需要被刷新。
當(dāng)前文章:創(chuàng)新互聯(lián)impala教程:impala概述
轉(zhuǎn)載來源:http://fisionsoft.com.cn/article/cohjegd.html


咨詢
建站咨詢
