Impala各版本新特性
2015-01-13 17:42
519 查看
本文主要整理一下 Impala 每个版本的新特性,方便了解 Impala 做了哪些改进、修复了哪些 bug。
Impala 目前最新版本为 1.4.0,其下载地址为:http://archive.cloudera.com/impala/redhat/6/x86_64/impala/
不得不说的事情:
1.3.1 用于 CDH4
1.4.0 用于 CDH5
CDH5 中增加
DECIMAL 数据类型,可以设置精度,其语法为:
CDH5 中,impala 可以使用 HDFS 缓存特性加快频繁访问的数据的速度,减少 cpu 使用率。当数据缓存到 hdfs cache 中时,impala 可以直接从缓存中读取数据而不需要读磁盘并且减少额外的内存拷贝。
Centralized
Cache Management in HDFS
impala 中使用 HDFS Caching,参考 sing
HDFS Caching with Impala (CDH 5 Only)
Impala 可以使用基于 Sentry 的授权策略,详细说明可以参考:Enabling
Sentry Authorization for Impala
Impala 支持其他 hadoop 组件创建的 Parquet 格式的文件,你可以在建表语句中指定 Parquet 格式,Impala 中创建 parquet 格式的表,请参考:Using
the Parquet File Format with Impala Tables
ORDER BY 查询不再要求一个 limit 语句,如果需要排序的结果集的大小超过了内存限制,则会使用临时的磁盘空间用于排序,ORDER BY 语法为:
BY Clause
LDAP 连接可以使用 SSL 或者 TLS 加密,详细说明参考:Enabling
LDAP Authentication for Impala
增加以下内建函数:
time 的字段,详细说明参考:Date
and Time Functions
and Time Functions
Functions
Statement
添加 impalad 进程设置参数让你设置所有查询的初始化内存值,详细说明参考:Using
YARN Resource Management with Impala (CDH 5 Only)
CDH 5.1 中可以利用 Llama 高可用的特性,详细说明参考:Using
Impala with a Llama High Availability Configuration
Avro File Format with Impala Tables
impala-shell 中添加
the SUMMARY Report for Performance Tuning
在 1.4.0 或者更高版本,不再统计 NULL 值,其值被看做为 -1,详细说明参考:How
Impala Uses Statistics for Query Optimization
分区性能改进。之前只能处理3000个分区,现在没有这个限制,详细说明参考:Partition
Pruning for Queries
impala-shell 支持 UTF-8 字符的输入和输出,可以通过参数
Unicode 字符。
该版本主要是 bug 修复,可以在 CDH 4 和 CDH 5 中使用。
在 impalad 启动参数中,添加
会使用 HDFS 权限为新分区创建目录,详细说明参考:INSERT
Statement
Statement
Text Data Files with Impala Tables
在 1.3.1 以及更高版本后,
Operator。
Admission
Control and Query Queuing
Statement 和 Understanding
Impala Query Performance - EXPLAIN Plans and Query Profiles
增加条件函数:
Functions
添加新的功能函数:
Functions
和 yarn 集成,只在 CDH5 中可用,详细说明参考:Using
YARN Resource Management with Impala (CDH 5 Only)
该版本用于 CDH4,主要针对 1.2.3 做了一些 bug 修复。
增加
添加 catalogd 启动参数:
Impala 1.2.3 works with CDH 4 and with CDH 5 beta 2. The resource management feature requires CDH 5 beta.
该版本主要是在 1.2.2 基础上修复 Parquet 兼容性,详细说明参考:Known
Issues and Workarounds in Impala
Impala 1.2.2 works with CDH 4. Its feature set is a superset of features in the Impala 1.2.0 beta, with the exception of resource management, which relies on CDH 5.
Considerations for Join Queries
Join Reordering with STRAIGHT_JOIN
Joins and Cartesian Products with the CROSS JOIN Operator
LDAP 支持
添加
Parquet 表的分区的时候。
添加
添加
Functions
支持
添加
添加
支持
添加内置函数:
添加
添加两个参数:
Timeout Periods for Daemons, Queries, and Sessions
支持 UDFs,详细说明参考:CREATE
FUNCTION Statement 和 DROP
FUNCTION Statement
添加新的同步元数据的机制,详细参考:The
Impala Catalog Service
添加
TABLE Statement 和 ALTER TABLE Statement
1.0
· 支持ALTER TABLE。
· 支持通过Hints指定join策略。支持的Hints:
o [broadcast]:broadcast
join策略(将小表放到所有节点上与大表进行分片join)
o [shuffle]: partitionedjoin策略(分片join)
· 支持刷新单个表的元数据。元数据的自动刷新仍然不支持。
· 动态资源管理,允许高并发的查询。
0.7
· 支持Parquet文件格式。Parquet是列存储的格式,对查询特别是面向列的查询性能提升有非常大的提升。
· 支持Avro。
· 支持内存限制。之前Impala进程对内存使用没有限制,会造成节点内存耗尽。
· 通过提供broadcast join提供更大和更快的join。
· 完全分布式的聚合(aggregations)计算。之前的计算需要所有数据拖到一个节点上进行聚合处理。
· 完全分布式的top计算。之前的计算需要所有数据拖到一个节点上进行top处理。
· 支持创建和修改表。
· 支持对floats和doubles的GROUP
BY。
0.6.
· 支持SUSE和Debian/Ubuntu,目前支持以下OS:
o RHEL5.7/6.2 and Centos5.7/6.2
o SUSE 11 with Service Pack 1 or later
o Ubuntu 10.04/12.04 and Debian 6.03
· 支持RCFile文件格式。
0.5
· 添加JDBC驱动,运行用户从java客户端访问Impala。
Impala 目前最新版本为 1.4.0,其下载地址为:http://archive.cloudera.com/impala/redhat/6/x86_64/impala/
不得不说的事情:
1.3.1 用于 CDH4
1.4.0 用于 CDH5
1.4.0
CDH5 中增加DECIMAL 数据类型,可以设置精度,其语法为:
DECIMAL[(precision[,scale])]
CDH5 中,impala 可以使用 HDFS 缓存特性加快频繁访问的数据的速度,减少 cpu 使用率。当数据缓存到 hdfs cache 中时,impala 可以直接从缓存中读取数据而不需要读磁盘并且减少额外的内存拷贝。
Centralized
Cache Management in HDFS
impala 中使用 HDFS Caching,参考 sing
HDFS Caching with Impala (CDH 5 Only)
Impala 可以使用基于 Sentry 的授权策略,详细说明可以参考:Enabling
Sentry Authorization for Impala
Impala 支持其他 hadoop 组件创建的 Parquet 格式的文件,你可以在建表语句中指定 Parquet 格式,Impala 中创建 parquet 格式的表,请参考:Using
the Parquet File Format with Impala Tables
ORDER BY 查询不再要求一个 limit 语句,如果需要排序的结果集的大小超过了内存限制,则会使用临时的磁盘空间用于排序,ORDER BY 语法为:
ORDER BY col1 [, col2 ...] [ASC | DESC] [NULLS FIRST | NULLS LAST],详细说明见:ORDER
BY Clause
LDAP 连接可以使用 SSL 或者 TLS 加密,详细说明参考:Enabling
LDAP Authentication for Impala
增加以下内建函数:
EXTRACT(),用于从一个 TIMESTAMP 字段返回一个 date 或者
time 的字段,详细说明参考:Date
and Time Functions
TRUNC(),用于将一个 date/time 类型的字段裁剪为一个特定格式的值,如年、月、日、小时等等,详细说明参考:Date
and Time Functions
ADD_MONTHS()
ROUND(),对 DECIMAL 类型的值四舍五入,详细说明参考:Mathematical
Functions
STDDEV,
STDDEV_SAMP,
STDDEV_POPFunctions 和
VARIANCE,
VARIANCE_SAMP,
VARIANCE_POPFunctions
MAX_INT()、
MIN_SMALLINT()等,用于判断数组是否超过最大值和最小值。
IS_INF()和
IS_NAN(),用于判断是否为数值。
SHOW PARTITIONS语句用于查看分区情况,详细说明参考:SHOW
Statement
添加 impalad 进程设置参数让你设置所有查询的初始化内存值,详细说明参考:Using
YARN Resource Management with Impala (CDH 5 Only)
CDH 5.1 中可以利用 Llama 高可用的特性,详细说明参考:Using
Impala with a Llama High Availability Configuration
CREATE TABLE语句支持
STORED AS AVRO,详细说明参考:Using the
Avro File Format with Impala Tables
impala-shell 中添加
SUMMARY命令用于查看摘要信息,详细说明参考:Using
the SUMMARY Report for Performance Tuning
COMPUTE STATS语句性能改进:
NDV函数通过生成本地代码加快速度
在 1.4.0 或者更高版本,不再统计 NULL 值,其值被看做为 -1,详细说明参考:How
Impala Uses Statistics for Query Optimization
分区性能改进。之前只能处理3000个分区,现在没有这个限制,详细说明参考:Partition
Pruning for Queries
impala-shell 支持 UTF-8 字符的输入和输出,可以通过参数
--strict_unicode控制是否忽略不合法的
Unicode 字符。
1.3.1
该版本主要是 bug 修复,可以在 CDH 4 和 CDH 5 中使用。在 impalad 启动参数中,添加
--insert_inherit_permissions参数用于设置创建分区的用户。默认的,INSERT
会使用 HDFS 权限为新分区创建目录,详细说明参考:INSERT
Statement
SHOW函数显示每个函数的返回类型,详细说明参考:SHOW
Statement
CREATE TABLE语句可以使用
FIELDS TERMINATED BY '\0'语句,详细说明参考:Using
Text Data Files with Impala Tables
在 1.3.1 以及更高版本后,
REGEXP和
RLIKE的语义进行修正,和数据库中的语义进行兼容,详细说明参考:REGEXP
Operator。
regexp_extract()和
regexp_replace()可以不再使用。
1.3.0
AdmissionControl and Query Queuing
EXPLAIN以一种更容易读的格式显示更加详细的内容,详细说明参考:EXPLAIN
Statement 和 Understanding
Impala Query Performance - EXPLAIN Plans and Query Profiles
UNIX_TIMESTAMP、
FROM_UNIXTIME和
INTERVAL
增加条件函数:
NULLIF()、
NULLIFZERO()、
ZEROIFNULL(),详细说明参考:Conditional
Functions
添加新的功能函数:
CURRENT_DATABASE(),详细说明参考:Miscellaneous
Functions
和 yarn 集成,只在 CDH5 中可用,详细说明参考:Using
YARN Resource Management with Impala (CDH 5 Only)
1.2.4
该版本用于 CDH4,主要针对 1.2.3 做了一些 bug 修复。增加
INVALIDATE METADATA table_name语法刷新新建的一个表
添加 catalogd 启动参数:
--load_catalog_in_background,是否后台运行
--num_metadata_loading_threads,并行加载线程
1.2.3
Impala 1.2.3 works with CDH 4 and with CDH 5 beta 2. The resource management feature requires CDH 5 beta.该版本主要是在 1.2.2 基础上修复 Parquet 兼容性,详细说明参考:Known
Issues and Workarounds in Impala
1.2.2
Impala 1.2.2 works with CDH 4. Its feature set is a superset of features in the Impala 1.2.0 beta, with the exception of resource management, which relies on CDH 5.Join order optimizations,详细说明参考:Performance
Considerations for Join Queries
COMPUTE STATS
STRAIGHT_JOIN,详细说明参考:Overriding
Join Reordering with STRAIGHT_JOIN
CROSS JOIN,详细说明参考:Cross
Joins and Cartesian Products with the CROSS JOIN Operator
LDAP 支持
添加
GROUP_CONCAT()
INSERT语句可以添加
SHUFFLE或者
NOSHUFFLE,主要是用在插入数据到
Parquet 表的分区的时候。
添加
CAST()用于类型转换
添加
fnv_hash()用于计算 hash 值,详细说明参考:Mathematical
Functions
支持
STORED AS PARQUET语句。
1.2.1
添加 SHOW TABLE STATS table_name和
SHOW COLUMN STATS table_name语法
添加
CREATE TABLE AS SELECT语法
支持
OFFSET语句,用于分页查询
ORDER BY语句中添加
NULLS FIRST和
NULLS LAST语法支持
添加内置函数:
least(),
greatest(),
initcap()
添加
ndv()函数来计算
COUNT(DISTINCT col)
LIMIT语句接受数值表达式作为参数
SHOW CREATE TABLE
添加两个参数:
--idle_query_timeout和
--idle_session_timeout,详细说明参考:Setting
Timeout Periods for Daemons, Queries, and Sessions
支持 UDFs,详细说明参考:CREATE
FUNCTION Statement 和 DROP
FUNCTION Statement
添加新的同步元数据的机制,详细参考:The
Impala Catalog Service
添加
CREATE TABLE ... AS SELECT语法
CREATE TABLE和
ALTER TABLE支持
TBLPROPERTIES和
WITH SERDEPROPERTIES语句,详细说明参考:CREATE
TABLE Statement 和 ALTER TABLE Statement
EXPLAIN
SHOW CREATE TABLE
LIMIT语句支持算术表达式
1.0
· 支持ALTER TABLE。
· 支持通过Hints指定join策略。支持的Hints:
o [broadcast]:broadcast
join策略(将小表放到所有节点上与大表进行分片join)
o [shuffle]: partitionedjoin策略(分片join)
· 支持刷新单个表的元数据。元数据的自动刷新仍然不支持。
· 动态资源管理,允许高并发的查询。
0.7
· 支持Parquet文件格式。Parquet是列存储的格式,对查询特别是面向列的查询性能提升有非常大的提升。
· 支持Avro。
· 支持内存限制。之前Impala进程对内存使用没有限制,会造成节点内存耗尽。
· 通过提供broadcast join提供更大和更快的join。
· 完全分布式的聚合(aggregations)计算。之前的计算需要所有数据拖到一个节点上进行聚合处理。
· 完全分布式的top计算。之前的计算需要所有数据拖到一个节点上进行top处理。
· 支持创建和修改表。
· 支持对floats和doubles的GROUP
BY。
0.6.
· 支持SUSE和Debian/Ubuntu,目前支持以下OS:
o RHEL5.7/6.2 and Centos5.7/6.2
o SUSE 11 with Service Pack 1 or later
o Ubuntu 10.04/12.04 and Debian 6.03
· 支持RCFile文件格式。
0.5
· 添加JDBC驱动,运行用户从java客户端访问Impala。
相关文章推荐
- Impala各版本新特性
- Impala各版本新特性
- Impala各版本新特性
- 新特性版本Impala各版本新特性
- mysql各版本的新特性整理
- Linux 内核 概念、特性、版本介绍
- php5-7 各版本的特性
- JDK各个版本特性
- Swift 1.2版本新特性
- JDK各个版本的新特性
- ECMAScript各版本简介及特性
- OpenStack Pike版本neutron组件新特性
- Unity 5.6 beta版本新特性
- 最新jQuery Mobile 1.2版本新特性
- Swift - Swift 3 新特性汇总(不同于以往版本的新变化)
- JDK各个版本的新特性jdk1.5-jdk8
- Spring--各版本新特性
- XCode 4.3 不使用新特性 适用低版本的的项目 不是初学者就可以跳过了
- tomcat中编译器的版本过低,导致不支持java 5以上的新特性