Hadoop MapReduce:数据科学家探索之路

  Forrester分析师James Kobielus在一篇关于“大数据”的博客中指出:“关键不在于采用什么方法,而在于能够使用任意可用工具或方法真正地解决问题。”


  近几年在解决大数据问题的迫切感驱使下,许多组织的数据架构师开始走向探索之路。简单而言,他们通常用于分析企业数据的传统数据库和商业智能工具已经无法胜任大数据处理任务。


  要理解这个挑战,必须回到十年前:当时很少有TB级的企业数据仓库。Forrester分析报告指出,在2009年之前,有三分之二的企业数据仓库(EDW)处于1-10 TB范围。而到2015年,大多数大型组织的EDW会达到100TB以上,“电信、金融服务和电子商务领域会出现PB级EDW”。


  需要注意的是,这些大数据存储是一些进行“超级规模分析”的新工具和新方法。他的意思是,“超级规模”数据分析包含4个方面:容量(从几百TB到PB)、速度(达到实时、秒级交付水平)、多样性(多样结构、无结构或半结构格式)和波动性(存储大量涉及新应用程序、新服务、新社交网络的新数据源)。


  Hadoop大数据技术快速发展


  最近几年,最受关注的方法之一是Apache Hadoop。这是一个开源软件框架,支持上千个节点和PB级数据的数据密集型分布式分析。


  它的底层技术源于谷歌内部开发者发明的搜索引擎。他们使用它查找有用的索引数据及其他“富”信息,然后将结果通过各种方法返回给用户。他们将这种技术称为MapReduce——而现在的Hadoop是一个开源版本,可供数据架构师用于实现计算密集型深度分析。


  最近,Hadoop专家Karmasphere进行了一次企业用户调查 。调查结果显示,有94%的Hadoop用户表示他们现在实现了之前无法实现的大容量数据分析;有88%的用户表示他们提高了数据分析水平;有82%的用户表示现在能够掌握更多的数据。


  Hadoop仍然是一项小生态技术,但是由于Cloudera和MapR等创业公司推出的商业授权和支持Hadoop产品,它在去年取得了很大进步。由于EMC、IBM和Teradata等EDW供应商的广泛关注,它的用户量也在不断增长。在2010年6月,EMC收购了Hadoop专业公司Greenplum;2011年3月,Teradata宣布收购Aster Data;而在2011年5月,IBM也发布了自己的Hadoop产品。


  新组织EMC Greenplum的架构师Mark Sears指出,Greenplum吸引EMC的是它基于x86、扩展MPP和无共享的设计。他说:“并非所有人都应该采用这种方法,但是越来越多的客户选择这样做。”


  在许多时候,有一些公司已经精于分析,例如通过挖掘客户数据而发现购买趋势。然而,过去他们可能需要从整个5百万客户数据池中查询与其中50万客户相关的随机数据采样。这样,他们便存在错过一些重要数据的风险。通过使用大数据方法,完全可能以相对高效的方法查询全部5百万条数据。


  Hadoop得到商业用户认可


  虽然技术人员非常关注Hadoop,但是它仍然未在商业领域得到广泛认可。简单而言,Hadoop在设计上支持在大量低端服务器之上运行,然后将数据容量分散到集群中,使用Hadoop分布式文件系统(HDFS)跟踪各部分的数据。分析负载的执行发生在集群中,它使用Pig和Hive等工具和采用大并发处理(MPP)模式。同时,执行结果采用统一的格式。


  今年年初,Gartner分析师Marcus Collins介绍了目前的一些Hadoop使用方法:金融服务公司使用它从信用卡交易记录中发现欺骗模式;移动电信提供商使用它发现客户变化模式;研究机构人员使用它发现望远镜观测到的天体物体。


  他总结道:“低端服务器与存储的性价曲线,似乎可以在越来越多企业的预算范围内,实现超大容量数据的超复杂分析。这项技术将给早期采用组织带来重大的竞争优势。”


  在早期采用者中,团购网站Groupon使用Hadoop 发行版Cloudera,分析全世界7000万注册用户的交易数据。另外,NYSE Euronext运营着纽约证券交易所以及欧洲和美国的其他股票和衍生产品市场。NYSE Euronext使用EMC Greenplum管理越来越多的交易数据,每天平均达到2TB。同时,美国书商Barnes & Noble使用Aster Data nCluster(现在已被Teradata收购)了解客户在三个销售渠道上的偏好和购买习惯:零售店、在线商店和电子阅读器下载。


  大数据分析的技术缺口


  Collins指出,虽然Hadoop的成本优势可能有利于它的普及,但是技术问题仍然令人担忧。他说:“大数据分析是一个新兴领域,现在许多组织或更广阔的人才市场还没有足够的技术人才储备。”


  Hadoop应用过程中的技术问题包括MapReduce框架的技术特性(它要求用户开发Java代码),以及缺少Hadoop基础架构设计的知识。另一个障碍是缺少可用于检查Hadoop数据的分析工具。


  然而,现在开始有一些变化。首先,现有BI工具供应商正在增加Apache Hadoop支持:其中一个例子是Pentaho,它先在2010年5月加入Hadoop支持,随后又增加EMC Greenplum发行版支持。


  Hadoop正在成为主流的另一个迹象是数据集成商的支持,如Informatica。现在,Hadoop的最常用法是作为ETL(提取、转换和加载)过程的“转换”引擎:MapReduce技术本身很适合完成数据准备任务,以及在传统的RDBMS数据仓库或HDFS/Hive上对数据进行更深入的分析。相对应地,Informatica在2011年5月宣布,将在EMC Greenplum及其Data Integration Platform之间进行整合。


  此外,还有出现了一些Hadoop设备,其中包括2011年5月发布的EMC Greenplum HD(一个整合Hadoop MapR、Greenplum数据和标准x86服务器的设备)和Dell/Cloudera Solution(在Dell PowerEdge C2100服务器和PowerConnect交换机上整合Cloudera的Hadoop发行版和Cloudera Enterprise管理工具)。


  最后,Hadoop很适合部署到云环境上,这样IT团队就有可能在云基础架构上进行试点实验。例如,Amazon在它的Amazon Elastic Compute Cloud (EC2)和Amazon Simple Storage Service (S3)提供了Amazon Elastic MapReduce托管服务。而且,Apache Hadoop还带有一组专门用于简化EC2部署和运行的工具。


  Collins说:“如果数据已经存储在Amazon S3中,那么在EC2上运行Hadoop是非常好的选择。”如果数据不存在于Amazon S3,那么必须进行转换:Amazon Web Services (AWS)收费模式包含网络费用,Amazon Elastic MapReduce费用会附加到常规的Amazon EC3和S3价格上。他警告说:“由于数据容量很大,必须运行大数据分析,所以数据转换和执行分析的费用应该小心考虑。”


  Kobielus指出,底线是“Hadoop是EDW的未来,而且它在企业核心EDW架构中的应用很可能在未来十年保持增长。”