您的位置:首页 > 运维架构 > Apache

Apache Hive 0.13发布,新增ACID特性

2014-05-08 09:31 295 查看
4月16日在http://mirror.bit.edu.cn/apache/hive/hive-0.13.0/网址就可以下载Hive 0.13,这个版本在Hive执行速度、扩展性、SQL以及其他方面做了相当多的修改:

一、执行速度


  用户可以选择基于Tez的查询,基于Tez的查询可以大大提高Hive的查询速度(官网上上可以提升100倍)。下面一些技术对查询速度的提升:

  (1)、Broadcast Joins:和MapJoin类似,但是不需要在client端建立一个hashtable;

  (2)、Dynamic Partitioned Hash Joins:基于大表bucketing的特性去分发小表;

  (3)、Cardinality estimation-based decision: 主要是在Join算法和并行度上面;

  (4)、Pre-launch of containers

  目前Hive提供了矢量查询执行器模型,可以使得CPU的计算提高5-10倍,查询翻译速度提高2-3倍。

二、SQL方面


  Hive 0.13支持与SQL标准为基础的授权功能,用户现在可以在SQL兼容的方式定义他们的授权策略。在实体上,扩展了SQL语言以便支持grant和revoke。而且Hive现在支持show roles、user privileges以及active privileges。支持可插拔的授权API。其他新特性:

  (1)、支持DECIMAL和CHAR数据类型;

  (2)、Unqualified的join条件;

  (3)、基于标准的带引号标识符行为;

  (4)、Common table expressions

  (5)、IN, NOT IN, EXISTS and NOT EXISTS支持子查询;

  (6)、Permanent functions

  (7)、在WHERE后面支持JOIN条件。

  当然在Hive 0.13中,事务的原子性、一致性和持久性在分区层得到保证,隔离性则通过开启ZooKeeper或内存中可用的锁机制来保证。通过在Hive 0.13中加入事务,实现在行级提供全部的ACID语义,这样的话,一个应用程序可以添加行,而另一个应用程序可以从同一分区中读取数据,互相之间不会产生干扰。配置事务Hive中引入了十个新的配置:hive.txn.manager、hive.txn.timeout、hive.txn.max.open.batch、hive.compactor.initiator.on、hive.compactor.worker.threads、hive.compactor.worker.timeout、hive.compactor.check.interval、hive.compactor.delta.num.threshold、hive.compactor.delta.pct.threshold和hive.compactor.abortedtxn.threshold,关于这些属性的默认值和含义可以去阅读官方文档。

三、其他方面的提升


  主要是在HiveServer2, HCatalog and JDBC access等

  (1)、Hive Server 2支持HTTP方式,SSL support for both binary and HTTP (HTTPS)、在HTTP(S)支持Kerberos 授权,Support for HTTP(S) through a trusted proxy。

  (2)、HCatalog :HCatalog parity for all Hive data types,Reconciliation of HCatalog and Hive “INSERT INTO” semantics。

  (3)、JDBC:Support for JDBC job cancel,Async execution。

  一张详细的表可以参照:





hive 0.13
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: