acm-header
登录

ACM通信

新闻

除了Hadoop


Hadoop生态系统组成部分

Datameer可视化的Hadoop生态系统组件。

来源:www.datameer.com/blog Datameer,它

当一个新用户访问在线音乐服务Pandora并选择一个电台时,该公司的软件会立即根据其社区的喜好生成一个播放列表。例如,如果个人创建一个肖邦站,那么这串歌曲将由潘多拉社区中最受欢迎的作曲家的音乐演奏组成。一旦新听众输入一个评分,点击“赞”或“不赞”图标,潘多拉就会把这个偏好纳入未来的选择。实际上,随着每个拇指的投票,这项服务变得更加智能。

潘多拉不愿透露它每天的数据流量,但播放列表工程主管埃里克·比什克(Eric Bieschke)表示,该公司至少有200亿次拇指评分。Pandora每24小时将前一天的数据添加到历史池中,不仅包括拇指,还包括跳过的歌曲等信息,并运行一系列机器学习、协作过滤和集体智能任务,以确保为用户提供更明智的建议。十年前,这将是非常昂贵的。然而,四年前,Bieschke说Pandora开始在Apache Hadoop中运行这些任务,这是一个开源软件系统,可以在廉价计算机集群中处理巨大的数据集。“Hadoop具有成本效益,但更重要的是,它使超级大规模机器学习成为可能,”他说。潘多拉的工作数据集只会增长,而Hadoop也是为扩展而设计的。“这很容易扩大规模。我们可以直接购买一堆商品硬件,并将其添加到集群中。”

比舍克并不是唯一支持他的人。在短短几年内,Hadoop已经成长为工程师分析金融、营销和生物信息学等不同领域大数据的首选系统。与此同时,数据本身的变化,以及对更快反馈的渴望,激发了对新方法的需求,包括能够提供即时性处理的工具,以及分析社交网络和移动设备中大量相互关联的数据的能力。“Hadoop必须不断发展,”马萨诸塞州波士顿云数据库服务公司Cloudant的首席科学家迈克•米勒表示。“很明显,我们需要其他工具。”事实上,在Hadoop生态系统内外,这种进化已经在进行中。

回到顶部

分布数据

Hadoop可以追溯到2004年,当时谷歌发表了两篇论文中的第二篇(参见“进一步阅读”列表),描述了其搜索成功背后的两个关键思想。第一个详细介绍了谷歌文件系统(简称GFS),作为一种跨数百台或数千台廉价计算机分发数据的方法。为了从这些数据中收集信息,第二种名为MapReduce的工具将一个给定的任务分解成更小的部分,将这些任务发送到不同的计算机上,然后在一个中心节点上收集答案。这些想法是革命性的,在谷歌发布这两篇论文后不久,Yahoo!工程师和其他人很快开始开发开源软件,使其他公司能够利用谷歌长期享有的可靠的、可伸缩的分布式计算。

结果是Apache Hadoop由两个主要软件模块组成。Hadoop分布式文件系统(HDFS)类似于单个计算机上的文件系统。像GFS一样,它将庞大的数据集分散在数百或数千个廉价硬件中。计算层Hadoop MapReduce利用了这样一个事实:这些数据块都位于独立的计算机上,每台计算机都有自己的处理能力。当开发人员编写一个程序来挖掘这些数据时,任务就会被分割。加州帕洛阿尔托Hadoop专家Cloudera的工程师Todd Lipcon解释道:“每台计算机都将查看本地可用的数据,并在这台计算机上运行一小段程序。”“它分析本地数据,然后报告结果。”

尽管Hadoop是开源的,但像Cloudera和加州圣何塞的MapR Technologies这样的公司已经发现了一个市场,可以开发附加的服务或包,使其更容易使用和更可靠。例如,MapR就有所帮助ancestry.com使用Hadoop对其庞大的DNA细节库进行模式匹配。在客户提交唾液样本后,该公司可以提取出基本的生物密码,并使用基于hadoop的程序在数据库中搜索DNA匹配,也就是潜在的神秘亲属。

回到顶部

分析网络

然而,专家指出,尽管MapReduce在大规模数据处理方面有优势,但它并不是设计来分析有连接的数据集的。例如,一个社交网络最好用图形的形式表示,其中每个人都是一个顶点,而在两个个体之间画的边表示一个连接。谷歌自己的工作支持了Hadoop不是为这类数据设置的观点:该公司的Pregel系统,在2009年首次公开描述,是专为处理图结构而开发的,因为MapReduce已经达不到要求。

华盛顿大学的网络科学家Carlos Guestrin最近和一些学生一起发布了一个新的开源处理框架GraphLab,它使用了MapReduce的一些基本原理,但更关注网络结构。数据分发阶段将考虑连接。“如果我知道你和我在图中是邻居,就会有一些计算需要查看你的数据和我的数据,”Guestrin解释道。“所以GraphLab将尝试在同一台机器上查看我们的数据。”

诀窍在于GraphLab以一种新颖的方式对数据进行了分区。标准的方法是将数据分成高度连接的顶点组。然而,在社交网络中,少数人拥有不成比例的联系数量。这些人,或者说顶点,不能被塞进一台机器里,那样最终会迫使许多计算机进行通信。为了避免这种低效率,Guestrin说GraphLab的算法根据边缘划分数据,这样紧密相连的边缘在同一台机器上。像流行歌手布兰妮·斯皮尔斯(Britney Spears)这样的网络高度发达的人仍然会依靠多件硬件设备生活,但比标准技术要少得多。盖斯特林解释说:“这将布兰妮·斯皮尔斯被复制的地方减少到了最低限度。”


“Hadoop必须不断发展,”Mike Miller说。“很明显,我们需要其他工具。”


另一方面,根据guestlin的说法,Hadoop对数据的结构不可知。应该在同一台计算机上分析的两条信息可能在不同的集群中结束。盖斯特林说:“最终的结果是,他们不得不经常移动数据。”“我们可以在数据如何放置和数据如何在机器之间通信方面变得聪明。”

Hadoop通常可以完成与GraphLab相同的任务,但Guestrin说他更有效的方法使它更快。在几个常见的基准测试中,例如一个名称识别任务,在这个任务中,算法分析文本并为单词分配不同的类别,GraphLab使用相同的硬件以60倍的速度完成任务。

回到顶部

实时运行

不过,在某些情况下,这还不够快。如今的公司通常希望得到实时的结果。对冲基金可能会根据当天的事件迅速做出决定。一个全球品牌可能需要迅速回应推特上的热门话题。对于那些与快速决策相关的任务,Hadoop太慢了,其他工具已经开始出现。

Hadoop社区已经在HBase中构建了实时响应功能,这是一个位于基本Hadoop基础设施之上的软件栈。Cloudera的Lipcon解释说,公司将使用Hadoop生成一个复杂的模型,比如基于数百万用户的电影偏好,然后将结果存储在HBase中。当用户给一部电影打分时,使用该工具的网站可以将这一小部分数据纳入模型,提供新的、最新的推荐。之后,当最新的数据反馈到Hadoop中时,这些分析将在更深的层次上运行,分析更多的首选项并生成更精确的模型。“这给了你一种两全其美的感觉——复杂模型的效果更好,而在线模型的效果更快,”利普康解释道。


GraphLab是一个新的开源处理框架,它使用了一些MapReduce的基本原理,但更注重网络结构。


另一个实时引擎Cloudant使用基于mapreduce的框架来查询数据,但数据本身被存储为文档。因此,米勒说,Cloudant可以跟踪新的和传入的信息,只处理变化。“我们不需要每天将数据从一个系统提取到另一个系统,在Hadoop中进行分析,然后重新注入到运行的应用层,”他说。“这让我们能够实时分析结果。”他指出,这可能是一个巨大的优势。“等到晚上才处理今天的数据意味着你错过了机会。”

Miller说,与HBase中采用的面向列的存储方式不同,Cloudant的面向文档的存储方法也使运行意外或临时查询更容易——这是正在发展的Hadoop生态系统中的另一个热门话题。2009年,谷歌公开描述了它自己的临时分析工具Dremel,以及一个开发开源版本Drill的项目,该项目刚刚在今年夏天启动。MapR的Ted Dunning说:“在实时处理和批处理计算之间,开源世界有一个大洞,我们希望用Drill来填补这个洞。”他指出,LinkedIn的“你可能认识的人”功能是德雷尔的理想目标。目前,结果延迟了24小时。邓宁说:“他们希望马上就有增量效果。”

尽管这些努力在方法上有所不同,但它们具有相同的基本目标。无论是在DNA池中发现链接,产生更好的歌曲建议,还是监控Twitter上的热门话题,这些团体都在寻找新的方法,从庞大的、不断扩大的信息库中提取见解。“很多人都在谈论大数据,但大多数人只是在创造它,”盖斯特林说。“真正的价值在于分析。”

*进一步的阅读

Anglade T
NoSQL磁带,http://www.nosqltapes.com

J.迪安和S .格玛沃特
MapReduce:简化大型集群的数据处理,六人会议记录th操作系统设计与实现研讨会旧金山,2004年

格玛沃特,格比奥夫,H.和梁,S.
谷歌文件系统,十九届会议记录thACM操作系统原理研讨会2003年10月1922年,纽约乔治湖

Low, Y, Gonzalez, J., Kyrola, A., Bickson, D., Guestrin, C.,和Hellerstein, J. m
GraphLab:一个新的机器学习并行框架,The 26th人工智能中的不确定性会议,卡塔琳娜岛,加利福尼亚,2010年7月811日

白色,T
Hadoop:权威指南,奥莱利媒体,塞瓦斯托波尔,加州,2009年

回到顶部

作者

格里高利局部激素是马萨诸塞州波士顿的一位作家,也是这部小说的作者危险的水域

回到顶部

数据

UF1数字Datameer可视化的Hadoop生态系统组件。

回到顶部


©2013 0001 - 0782/13/01 ACM

允许为个人或课堂使用部分或全部作品制作数字或硬拷贝,但不得为盈利或商业利益而复制或分发,且副本在首页上附有本通知和完整的引用。除ACM外,本作品的其他组件的版权必须受到尊重。允许有信用的文摘。以其他方式复制、重新发布、在服务器上发布或重新分发到列表,都需要事先获得特定的许可和/或费用。请求发布的权限permissions@acm.org传真(212)869-0481。

数字图书馆是由计算机协会出版的。版权所有©2013 ACM, Inc.

Baidu
map