Hadoop只会锦上添花 不会喧宾夺主

Hadoop似乎火了。150家各种规模的企业都在使用Hadoop,包括大公司摩根大通、谷歌和雅虎等,相信这个开源大数据管理系统很快将出现在你的公司里。

但是在使用Hadoop前,你最好先全面了解Hadoop的相关信息。客户和业内分析师表示,需要经过专门的培训和具备一定的分析能力才能使用 Hadoop。然而,并非所有公司都符合这个条件。这仍然是一个非常年轻的市场,很多Hadoop供应商都争相推出各种应用产品,包括云端产品。

最重要的一点:不要听信炒作。Forrester分析师James Kobielus指出,只有1%的美国企业在生产环境中使用Hadoop。他预计,“在未来一年中,这个数字将翻一番或者两番。”但是对于所有极富潜力的技术,我们都应该谨慎。

可以肯定的是,相比于传统数据库管理系统,Hadoop具有更多优势,特别是处理结构化数据(如关系数据库中的数据)和非结构化数据(如视频)的能力。而且Hadoop可以在保持对系统最小干扰度的情况下进行扩展。eBay公司体验、搜索和平台副总裁Hugh Williams表示,eBay面对着9PB来自Terabyte集群上的结构化数据以及在“成千上万”节点上运行的Hadoop集群上的非结构化数据。

他表示:“Hadoop真的帮了我们大忙。”

“你可以在相同硬件上运行很多不同类型的不同工作。而在Hadoop出现之前的世界就显得非常呆板,”Williams说,“你可以采用与之前不同的方式来充分使用集群。它允许你大胆创新,并且门槛很低,非常强大。”

扩展,再扩展

Hadoop早期使用者销售视频流系统的Concurrent公司同样需要为其客户存储和分析大量视频数据,为了更好地处理有增无减的数据量,Concurrent公司两年前开始使用Cloudera公司的Hadoop CDH。

Concurrent公司工程总监William Lazzaro

“Hadoop是我们用来解决大数据问题的‘铁榔头’,”Concurrent公司工程总监William Lazzaro表示,“它让我们在很短时间内能够处理大量数据。”

Concurrent公司的一个部门负责收集和存储关于视频的客户统计数据,这也是Hadoop发挥作用的地方,Lazzaro表示:“我们现在有一个客户一个月要生成和保存30亿数据记录,我们预计在接下来的三个月,这个数字将达到一个月100亿数据记录。”

过去,Concurrent公司面对的两个主要局限是:传统关系型数据库无法处理非结构化数据(如视频),并且需要处理和存储的数据量成倍增长。“我的客户想要保存数据四到五年,”Lazzaro说道,“当他们每天产生1PB数据时,这将是一个大数据问题。”

有了Hadoop,Concurrent公司工程师发现他们能够满足其客户日益增长的需求,Lazzaro 表示,“在测试过程中,他们尝试为该客户每天处理20亿条记录,通过向节点加入另一台服务器后,我们发现完全能够满足他们的需求,并且能够迅速扩展。”

为了对比,该公司使用传统数据库进行了相同的测试,发现Hadoop的主要优势之一在于它可以方便快捷地根据需要增加额外的硬件,而不需要额外的授权费用,因为它是开源产品。

生命科学和基因组公司NextBio公司是另一个Hadoop用户,该公司主要负责涉及庞大的关于人类基因测序数据集的项目以及相关科研工作。

NextBio公司工程副总裁Satnam Alag

“我们引入各种基因组数据,然后使用Hadoop对数据进行处理,并与其他数据集进行比较,”NextBio公司工程副总裁Satnam Alag表示,“Hadoop让我们可以根据客户需要对大量公共数据进行分析,我们的客户范围包括制药公司到学术研究人员。”NextBio使用的是来自 MapR的Hadoop产品。

一个典型的完整基因组序列可以包含120GB到150GB压缩数据,需要0.5TB的存储容量以进行处理。在过去,该公司需要花费三天来分析这些数据,但现在通过30到40台运行Hadoop的机器,NextBio的工作人员只需要三到四个小时就可以完成工作。Alag表示:“对于任何需要利用这些数据的应用程序,Hadoop都带来了很大的变化。”

Hadoop的另一大优势是它可以简单地通过增加更多节点来按需扩展系统。他表示:“如果没有Hadoop,扩展将是极具挑战性和昂贵的工作。”这种所谓的横向扩展(增加更多商品硬件节点到Hadoop集群)是非常具有成本效益的系统方式。Hadoop框架“会自动处理集群中失效的节点”。

这极大地改变了该公司扩大其计算能力以满足其需求的方式。他表示:“我们不想在基础设施上花费太多钱,我们并没有那么多资金。”

新类型应用层出不穷

Hadoop的一个巨大优势在于它能够对大量数据集进行分析并迅速发现趋势。对于一家大型零售商,这可能意味着分析Facebook或者 Twitter用户数据以了解上一季流行什么颜色的围巾,将分析结果与现在的热门颜色流行趋势相比较就能够帮助确定本季度销售什么颜色的围巾。

“它让你能够从过去的数据中寻求新的销售机会,”Lazzaro说道。Concurrent公司就曾为一家汽车经销商分析商业广告数据,“我们可以从数据看出哪些人查看了商业广告,然后就可以确定消费群。”

传统数据库能够满足很多数据分类和分析需要,但对于超大规模数据集,Hadoop能够更有效地找出信息,Lazzaro表示:“Hadoop就是为了这个目的而设计的。”

对于eBay来说,eBay的工程师“喜欢和非结构化数据打交道,以及迅速为eBay建立新产品,”Williams表示,eBay工程师可以访问该公司的3亿份清单、历史资料和大量相关信息,“这让我们能够更好地了解客户,并建立他们想要的用户体验。”这并不是结构化数据和非结构化数据之争,而是,“我们的工程师现在可以以前所未有的方式与数据打交道”。

Williams表示,在过去一年中,eBay使用Hadoop完成了一些非常了不起的事情,包括对商品陈列、用户体验和用户使用网站的方式的改善等。

例如,eBay工作人员可以看到客户什么时候开始搜索万圣节和圣诞节产品。“我还能告诉你人们在寻找的产品,而在五年以前,我们根本不理解这些数据。”

制定策略须谨慎

虽然Hadoop非常强大,但是也有一些注意事项。首先,“不要完全仅将目光放在一个供应商上”,因为这仍然是一个十分“动荡”的市场,Forrester公司的Kobielus表示,“供应商们都正在快速发展,另一方面来看,这确实创建了一个充满活力的生态系统。”

Gartner研究所分析师Marcus Collins表示:“这主要取决于企业,获取必要的专业知识来最大化Hadoop的优势。运用Hadoop需要一定水平的分析能力,而现在很多企业还不具备这样的能力。你需要对员工进行培训,并对分析能力进行投资,这将让你充分利用这项技术的优势。”

eBay交易市场搜索平台和体验部门副总裁Hugh Williams

另一个重要考虑因素:大多数企业将需要聘请Hadoop专家,而这种人才目前供不应求,或者需要培养内部专家。eBay的Williams表示: “我们安排了很多培训,让我们的工程师学习如何使用Hadoop和编写代码。你还需要对开发人员和项目经理进行培训,让他们也成为熟练的使用者。不要低估了这一点的作用。”

如果将开源系统应用于关键任务应用程序,还要准备组织学习曲线。最好让你的管理层了解开源的优势。

Collins的另一个秘诀就是“密切参与”项目以确保按计划进行,“不要将你的问题归咎于Hadoop供应商,”他表示,“毕竟是你在运行Hadoop。”

此外,Kobielus解释说,Hadoop的最佳做法仍然在不断发展中,所以最好想办法从Hadoop获得一些短期优势,而不要好高骛远。随着你的专业知识的增加,你会发现更多Hadoop的优势。然而,早期使用者为建立系统和扩展集群而采用的方法范围完全取决于董事会。

Hadoop只会锦上添花 不会喧宾夺主

大多数客户使用Hadoop添加到其他类型的软件上,而不是取代其他软件。例如,eBay仍然在使用关系型数据库,并需要处理大量自定义(数据库) 工作,Williams说道:“在eBay,我们发现了使用多种技术来处理数据的价值。Hadoop对于某些目的而言,是一个非常好的选择,而对于其他目的,其他技术更加适用。”

例如,当涉及交易时,他表示,“当然应该使用关系型数据库系统。我们的总体想法是灵活的选择适合的技术,并不存在一个‘包治百病’的技术。”

Concurrent公司同样是如此。Hadoop并没有取代该公司的传统关系型数据库,包括MySQL、PostgreSQL和Oracle。 “这是一个综合解决方案,”Lazzaro表示,“我们使用Hadoop来完成繁重的工作,例如大规模数据处理。然后我们会使用Hadoop内的 Map/Reduce来创建汇总数据,这种数据能够通过传统RDBMS来查看。”

关系型数据库的发展趋势是,当系统变得太大时,例如2.5亿条记录一天,数据库就无法响应数据查询。然而,他表示,“面对这么庞大的数据,Hadoop仍然不费吹灰之力。Hadoop可以存储50亿条数据,通过Map/Reduce我们可以创建数据汇总,并将其插入到标准RDBMS以提供快速查看。”

在一般情况下,Williams表示,“我并不会过多考虑Hadoop的局限性,而是会考虑机会。你可以通过开源社区迅速找出解决任何问题的解决方案。虽然有些人对于Hadoop有着这样那样的抱怨,但它毕竟属于新技术,就好像早在1993年或1994年的Linux一样。”

“我们确实看到独特的技术挑战,”Williams表示,包括架构数据中心、设计支持Hadoop的网络和选择正确的硬件。

总体而言,Hadoop一直是eBay的良好战略,Williams说道:“对于我们而言,Hadoop真的帮了大忙,我们的工程师都对它赞不绝口,它帮助我们成为真正的数据驱动型企业。”

相关链接

企业级Hadoop供应商 vendors

免费开源应用程序Apache Hadoop可供企业IT部门下载、使用和根据其需要进行改变。

但对于很多企业用户而言,Hadoop对支持和技术技能的需要在很大程度上掩盖了这个免费DIY应用程序的光芒。

而受支持的企业版本Hadoop则是更好更实际的选择。

以下是一些Hadoop主要供应商,这些供应商可以帮助你的公司开始享受Hadoop的优势,有些供应商还提供内部部署软件包,有些供应商还销售云端Hadoop,还有刚刚出现的Hadoop数据库设备,包括最近宣布合作的Oracle和Cloudera。

Amazon提供的Amazon Elastic MapReduce,运行在Amazon的弹性云以及Simple Storage服务中的托管Hadoop框架

Cloudera公司的Enterprise订阅服务

使用Hadoop的Datameer Analytics Solution

DataStax Enterprise Hadoop软件

EMC分公司Greenplum公司提供的Greenplum HD Enterprise-Ready Apache Hadoop

Hortonworks数据平台

BigInsights,基于Hadoop的来自IBM的非结构化数据云服务

Karmasphere Analyst, 使用Hadoop帮助生成数据的工具包

MapR提供的企业级Hadoop软件M5版本

以上只是列出了一些提供企业级Hadoop产品和服务的供应商,随着Hadoop在数据市场上关注度的提升,供应商的数量还将增加。

技术小贴士

eBay的Williams为大家提供了以下秘诀:

通过学习Hadoop的组织结构来学习如何有效管理Hadoop。 “如果你的企业有很多人在使用Hadoop集群,他们可能会尝试一次性做很多相同的事情,”Williams表示,“这意味着他们可能会产生相同的中间数据,这是一种浪费。”

他建议,一天运行一次通用数据查询,并将结果保存在一个地方,让需要的人可以使用,这样做可以节省大量处理时间和相关资源,“仔细想想哪些数据集对于你的用户是很有用的,然后创建这些数据集。”

清理你的Hadoop集群是关键的维护工作。 “这真的非常重要,”Williams表示,“你可能需要运行大量Hadoop工作,创建大量数据,通常情况下,通过文件来处理工作的用户会一走了之,这对于用户很常见,如果你这样做的话,你最终将会面对大量额外的Hadoop文件。”

“所以你需要制定一个策略以保持Hadoop集群的整洁,这样就不会超出磁盘空间。让用户清理出他们不需要的东西。如果你有一个大型Hadoop集群,定期清理是非常重要的。”