impala是什么?
Impala是用于处理存储在Hadoop集群中的大量数据的MPP(大规模并行处理)SQL查询引擎。 它是一个用C ++和Java编写的开源软件。 与其他Hadoop的SQL引擎相比,它提供了高性能和低延迟.
为什么选择impala?
Impala通过使用hadoop生态组件(如HDFS,HBase,Metastore,YARN和Sentry)将传统分析数据库的SQL支持和多用户性能与Apache Hadoop的可扩展性和灵活性相结合。
使用Impala,与其他SQL引擎(如Hive)相比,用户可以使用SQL查询以更快的方式与HDFS或HBase进行通信。
Impala可以读取Hadoop使用的几乎所有文件格式,如Parquet,Avro,RCFile。
Impala将相同的元数据,SQL语法(Hive SQL),ODBC驱动程序和用户界面(Hue Beeswax)用作Apache Hive,为面向批量或实时查询提供熟悉且统一的平台。
与Apache Hive不同,Impala不基于MapReduce算法。 它实现了一个基于守护进程的分布式架构,它负责在同一台机器上运行的查询执行的所有方面。
因此,它减少了使用MapReduce的延迟,这使Impala比Apache Hive快。
impala优点
1.使用impala,使用传统的SQL知识以极快的速度处理存储在HDFS中的数据。
2.由于在数据驻留(在Hadoop集群上)时执行数据处理,因此在使用Impala时,不需要对存储在Hadoop上的数据进行数据转换和数据移动。
3.使用Impala,可以访问存储在HDFS,HBase和Amazon s3中的数据,而无需了解Java(MapReduce作业)。使用SQL查询的基本概念访问
4.缩短在业务工具中写入查询,数据必须经历复杂的提取 - 变换负载(ETL)周期。
5.Impala可以使用Parquet文件格式
impala功能特性
1.Impala支持内存中数据处理,即,它访问/分析存储在Hadoop数据节点上的数据,而无需数据移动。
2.与其他SQL引擎相比,Impala为HDFS中的数据提供了更快的访问。
3.使用Impala,可以访问不同的数据存储,如HDFS,Apache HBase和Amazon s3。
4.Impala支持各种文件格式,如LZO,序列文件,Avro,RCFile和Parquet。
5.Impala使用Apache Hive的元数据,ODBC驱动程序和SQL语法。
传统的hive和RDMS 与impala对比
![](https://img.haomeiwen.com/i2015574/d637054a1aa7394c.png)
![](https://img.haomeiwen.com/i2015574/e76cd45365848bb5.png)
Impala的缺点
Impala不提供任何对序列化和反序列化的支持。
Impala只能读取文本文件,而不能读取自定义二进制文件。
每当新的记录/文件被添加到HDFS中的数据目录时,该表需要被刷新。
网友评论