当Hadoop SQL工具与大数据框架携手同行

日期: 2016-07-27 作者:Craig Stedman翻译:张亮亮 来源:TechTarget中国 英文

目前,SQL-on-Hadoop的采用率仍然偏低,但是其发展似乎是与Hadoop本身的采用有着相似的步调。2015年由IT研究和教育机构TDWI进行的一项对新兴技术的调查证实了这一结论。 在320位受访者中只有16%的人表示他们所在的企业正在使用商业SQL-on-Hadoop引擎作为商业智能或分析应用程序的一部分; 344位受访者中有22%的人说Hadoop SQL技术正用于管理数据。在后一种情况中,部署水平与前一种是接近的,而这也符合调查当时以及计划三年内的情况,这表明大多数Hadoop用户同样实现了SQL-on-Hadoop工具(见下表)。

Progressive Casualty Ins……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

目前,SQL-on-Hadoop的采用率仍然偏低,但是其发展似乎是与Hadoop本身的采用有着相似的步调。2015年由IT研究和教育机构TDWI进行的一项对新兴技术的调查证实了这一结论。

在320位受访者中只有16%的人表示他们所在的企业正在使用商业SQL-on-Hadoop引擎作为商业智能或分析应用程序的一部分; 344位受访者中有22%的人说Hadoop SQL技术正用于管理数据。在后一种情况中,部署水平与前一种是接近的,而这也符合调查当时以及计划三年内的情况,这表明大多数Hadoop用户同样实现了SQL-on-Hadoop工具(见下表)。

当Hadoop SQL工具与大数据框架携手同行

Progressive Casualty Insurance Co是用户之一,在2013年开始运行Hadoop集群来处理和分析从客户的汽车收集的远程信息技术数据,这是基于使用情况的汽车保险项目的一部分,该项目叫做Snapshot(快照);该集群是基于Hortonworks公司的Hadoop分布式环境,它同样支持对用于保险产品定价的数据,以及来自Progressive网站的活动日志进行研究和开发。

大部分分析查询、提取、转换和加载(ETL)集成过程是针对集群中的数据执行的,而这些过程是由一款开源SQL-on-Hadoop工具HIve创建的。“Progressive的业务分析师和数据科学家已经是重度SQL用户,因此我们想要让提供给他们的数据结构保持不变,”该公司数据和分析部门的主管Pawan Divakarla说,“我们拥有的整个业务社群都在使用数据,而让他们去学习别的东西是没有意义的。”

光有Hive是不够的

Chris Barendt是一名IT架构师,他说Progressive在部署Hive的早期遇到了一些问题,但是该技术如今变得更加稳定而且满足用户的大部分需求。但是要帮助提升Hive的性能让它能够支持交互式查询,俄亥俄州的Mayfield Village保险公司用Tez对Hadoop SQL引擎进行了增强,Tez是一款开源应用程序框架,它起源于Hortonworks并且是用来优化Hadoop系统中的数据处理吞吐量的。

同样,大多数Progressive的数据分析师通过Tableau的BI软件或Hue来和Hive协同工作,而Hue最初是由Hadoop供应商Cloudera 公司开发的一款用于web应用程序的用户界面。只有某些有能力的用户直接在Hive中用命令行SQL编码,Barendt说。

在线约会服务商Zoosk公司将Hive的结合体用于ETL,并将Cloudera的Impala SQL查询软件用于分析,同时也在前端使用Hue和Tableau来缓解数据分析师的编码工作。这家位于旧金山的公司在2012年部署了基于Cloudera的Hadoop集群,起初是用于处理大量用户活动和其网站产生系统日志数据,然后将信息的聚合视图传至一个基于Microsoft SQL Server数据库构建的企业级数据仓库。

直到今年早些时候,Martin Lam还是Zoosk分析和数据科学部门的资深主管,他说虽然在公司里其开发人员首先仍然是尝试在Hadoop的原始处理环境——MapReduce上进行编程。但是这要比使用SQL花费更多的时间。使用MapReduce要用几个小时来编写和测试一项任务,而用SQL则只需要几分钟。Zoosk紧接着便实现了Hive来支持在集群中处理ETL。尽管如此,Hadoop SQL工具对于支持数据的随机分析非常缓慢。因此,“我们并不将Hadoop作为分析平台,” Lam说。

Hadoop SQL中的天作之合?

当Cloudera发布了Impala的测试版之后,情况发生了改变。Zoosk签约成为早期用户,而且Lam说查询引擎的性能使得对原始Hadoop数据的分析更为可行。

例如,他说在与Parquet的结合中,Zoosk于2015年中期将一种针对Hadoop的柱状存储格式加入其大数据架构,Impala能够在网站用户交互中在八秒内执行一项典型查询。通过对比,如果单独使用Hive或是将Hive和Parquet结合使用,同样的查询分别会花费八分钟和六分钟。更快的速度同样能够支持额外更先进的应用程序,特别是行为匹配,这旨在根据Zoosk用户对网站的使用情况来预测可能的匹配。

Zoosk坚持在ETL上使用Hive,然而为了处理每天从网站抓取的数百万数据记录,集群中信息的输入量已经达到大约200TB。“Impala可以提供很快的速度,但是如果你不加小心的话,它是不可预测的,”Lam说,而使用Hive则能够保证更容易地完成一项工作。”

Impala仍然缺少某些标准SQL功能,包括支持扩展标记语言和JavaScript Object Notation函数以及类似映射和数组的非数值类型。“但是这一差距正逐渐缩小,”Lam说,他如今在Facebook工作。“对于大部分分析用例,你是能够获得通过的。”

这同样适用于Apache Spark处理引擎的Spark SQL模块,Benny Blum说,他是Sellpoints公司产品和数据部门的副总,这是一家位于加利福尼亚州Emeryville的在线营销和广告公司,其对ETL的处理使用的就是Spark SQL。

Blum说:“如今有些事情我无法用Spark SQL来完成,随着开发工作的进行,你肯定认为你处在一种语言的前沿。”但另一方面,他指出Sellpoints所能看到的用Spark SQL的查询速度远远高于六至八个月之前的水平,”这要得益于对SQL技术的改进以及公司对于Spark整体更为有效的利用。

翻译

张亮亮
张亮亮

TechTarget特邀编辑。毕业于北京邮电大学网络技术研究院。熟悉软件开发测试的各个环节和流程,对操作系统,数据库,计算机网络等有较为深入的理解。现就职于中国电子科技集团公司下属研究所,从事软件研发工作。热衷于英文的学习交流,平时喜欢户外运动,音乐,电影。

相关推荐