Stinger Initiative:让Hive提速100倍

云计算
最初,Hive用于建立大规模的成批计算,这在数据报告、数据挖掘以及数据准备等应用场景很有效。这些应用场景很重要,但是Hadoop的需求十分广阔,企业用户越来越需要Hadooop具备更高的实时性和交互性。在Hortonworks,我们相信开源社区的创新力要超过任何一个专有的提供商,Stinger initiative再次证明了这一点,我们会联合(社区)伙伴一起提升Hive的性能。

自从2007年Facebook提出Apache Hive和HiveQL后,他们已经成为事实上的Hadoop上的SQL接口。如今,各种类型的大公司或小公司都在使用Hive这中非常普遍的方法来访问Hadoop数据,从而给公司或者用户带来更多的价值。同时,还有许多公司通过大量已存的BI工具生态系统来达到相同的目的,这些BI工具同样使用Hive作为接口。

最初,Hive用于建立大规模的成批计算,这在数据报告、数据挖掘以及数据准备等应用场景很有效。这些应用场景很重要,但是Hadoop的需求十分广阔,企业用户越来越需要Hadooop具备更高的实时性和交互性。在Hortonworks,我们相信开源社区的创新力要超过任何一个专有的提供商,Stinger initiative再次证明了这一点,我们会联合(社区)伙伴一起提升Hive的性能。

什么是Stinger Initiative?

能让Hive回答问题的速度满足普通人(例如一个问题的返回时间在5-30秒),如大数据探索、可视化、参数化报告等场景,而且并不依赖其它工具,并分发到用户社区,可以很好的维护企业原有的投资和开发者的Hive技能。

 

 

图:Stinger Initiative的roadmap

为此,我们发布了Stinger Initiative,并进入社区进行分享,为的是让Hive支持更多SQL,并实现更好的性能。一直以来,HiveQL都没有什么变化,而这次HiveQL将变得更强大。同时,与现有的工具保持一致形成***的互补。

首先,我们让Hive与人们在Hadoop上想要的查询想匹配。这包括增加类似OVER子句的分析功能,支持WHERE子查询,以及调整Hive的样式系统更多的符合标准的SQL模型。

其次,我们优化了Hive的请求执行计划,我们内部某些测试结果显示,优化后的请求时间减少了90%。我们也着眼于在Hive执行引擎中增加一些改动,我们确信这可以增加单一Hive task每秒钟处理记录的数量。

第三,我们在Hive社区中引入了新的列式文件格式(如ORC文件),提供一种更现代、高效和高性能的方式来储存Hive数据。

***,我们引入了一种新的runtime框架—— Tez,它的目标是消除Hive的延迟以及吞吐量限制。Tez通过消除不必要的task、障碍同步和对HDFS的读写作业来优化Hive job。这将优化Hadoop内部的执行链,彻底加速Hive负载处理。

所有这些对Hive的调整仍在公开的进行中,内部预览版将在今年三月举行的由Hortonworks主办的Hadoop大会上公开。

拥抱社区和Hive

许多不同的团队在Hive社区贡献着他们成果。来自SAP的Harish Butani的团队负责为Hive增加一个分析和数据窗口函数。这个函数将增加到OVER子句中用于已经存在的聚集函数,就像RAND、NTILE和LEAD、LAG等函数一样, 这里可以看到详细的说明。Facebook的Namit Jain已经花了大量时间来优化Hive的查需执行计划,这让Join等操作变的更高效,并减少来自用户的提示。Hortonworks已经参与到这些项目中。

Owen O’Malley,Hortonworks联合创始人,早期的Hadoop的开发者,已经在Facebook为ORC文件格式进行了大量工作,这项工作将帮助提升Hive读、写、处理数据的性能,在 这里可以看到详情。我们还在为一些更长远的目标工作,如重写Hive的运算符来处理上千的记录,其效率和现在相比将有大幅提升。

为什么要重新造轮子呢?

责任编辑:王程程 来源: Hortonworks
相关推荐

2016-03-21 10:16:06

RedisSpark大数据处理

2022-08-09 09:10:31

TaichiPython

2016-10-08 16:02:37

WIFIMegaMIMO系统

2021-04-21 18:57:16

二进制存储空间

2023-12-11 15:40:32

PyTorch代码大模型

2020-07-20 09:20:48

代码geventPython

2021-02-17 13:20:51

forpandas语言

2023-07-12 14:28:45

谷歌模型

2024-07-01 12:17:54

2023-03-16 16:18:09

PyTorch程序人工智能

2022-08-01 11:15:26

MIT材料

2024-07-17 08:25:44

2013-09-24 09:40:41

Java图形加速

2021-06-02 22:54:34

技巧 Git Clone项目

2018-07-27 09:32:18

Python代码数据

2023-12-23 23:04:26

AI模型

2022-03-09 14:57:53

Numbapython

2019-11-01 10:49:21

技术开源应用

2023-05-04 07:34:37

Rust代码CPU

2009-12-16 11:43:28

卡巴斯基NVIDIA Tesl
点赞
收藏

51CTO技术栈公众号