Impala应用开发简介
Impala直接对存储在HDFS、HBase或对象存储服务(OBS)中的Hadoop数据提供快速、交互式SQL查询。除了使用相同的统一存储平台之外,Impala还使用与Apache Hive相同的元数据、SQL语法(Hive SQL)、ODBC驱动程序和用户界面(Hue中的Impala查询UI)。这为实时或面向批处理的查询提供了一个熟悉且统一的平台。作为查询大数据的工具补充,Impala不会替代基于MapReduce构建的批处理框架,例如Hive。基于MapReduce构建的Hive和其他框架最适合长时间运行的批处理作业。
Impala主要特点如下:
- 支持Hive查询语言(HiveQL)中大多数的SQL-92功能,包括SELECT,JOIN和聚合函数。
- HDFS,HBase 和对象存储服务(OBS)存储,包括:
- HDFS文件格式:基于分隔符的text file,Parquet,Avro,SequenceFile和RCFile。
- 压缩编解码器:Snappy,GZIP,Deflate,BZIP。
- 常见的数据访问接口包括:
- JDBC驱动程序。
- ODBC驱动程序。
- Hue beeswax和Impala查询UI。
- impala-shell命令行接口。
- 支持Kerberos身份认证。
Impala主要应用于实时查询数据的离线分析(如日志分析,集群状态分析)、大规模的数据挖掘(用户行为分析,兴趣分区,区域展示)等场景。