直面Hadoop MapReduce问题与复杂性

日期: 2013-03-25 作者:Jack Vaughan翻译:曾少宁 来源:TechTarget中国 英文

作为最具代表性的大数据技术之一,Hadoop对那些准备探索业务影响力数据的IT部门非常有吸引力。Hadoop的分布式处理方法更适合处理海量非结构化数据,但是Hadoop及其相关的MapReduce编程模型并不是万灵药,MapReduce和Hadoop的问题时刻影响着大数据新手们。

  部署Hadoop的用户可能遇到的问题包括复杂性、性能和系统管理。但是,人们对它的关注仍在不断提高。MarketAnalysis.com估计,Hadoop MapReduce市场将以每年58%的速度增长,到2018年前达到22亿美元。Hadoop(最初由雅虎开发)生态系统包含的工具非常多,而且仍在不断增加。但是,找到合适的团队成员并不是一件容易的事。

  数据仓库咨询公司Caserta Concepts的总裁Joe Caserta说:“当我们谈到Hadoop时,它实际上只是一种分布式文件系统。所有分布式系统都有一些工具,只有这些工具才能操作分布式数据系统的数据。它们包括Hive查询工具,可以模拟结构化数据;Pig,它实际上是一个操作Hadoop数据的ETL语言。”

  对于许多人而言,Hadoop的复杂性源于Java开发。

  Java是一个广泛流行的语言,它常用于面向应用的开发,而非面向数据的开发。这只是Hadoop新手面对的许多“环境转变”问题之一。

  即使是精通于SQL的Java开发者,他们使用Hadoop也有许多挑战。因为除了使用一些相关工具,否则Hadoop无法使用SQL。

  咨询与应用监控软件开发商Errplane的创始人 Paul Dix说:“Hadoop有一个工具可以帮助实现这种环境转变,那就是Hive。这个工具很有效,但是它实现的转变并不完美。”

  根据Dix的观点,就算同时具备Java技能和SQL工具,也无法保证一定能玩转Hadoop。一位资深Java开发者也可能无法部署谷歌提出的 MapReduce模型(通常与Hadoop相关联)。MapReduce会提取Hadoop处理过的数据,得到更容易使用的数据子集。

  MapReduce:唾手可得的Hadoop产品

  Dix说:“大多数Java开发者面对的问题是,他们如何使数据处理符合MapReduce范式。他们必须学习如何编写与Hadoop对应的MapReduce代码。他们必须学习正确理解问题的结构。”

  Dix自己以前就是一位谷歌实习软件工程师,他指出,许多谷歌开发者的第一个任务就是学习如何编写与Hadoop对应的MapReduce代码,计算出文本文件的单词数。

  对于Hadoop开发团队而言,寻找一个好的起点是很关键的。一个可参考的开发启动项目是:将日志文件保存到Hadoop集群中,然后使用MapReduce处理所得到的数据,例如访问某个网页的特定访客数据、响应时间或Web应用抛出的错误数量。

  轻松实现Hadoop

  MapReduce并不是唯一方法。Adobe公司的高级软件架构经理Paul Mackles说:“有许多方法可以不需要编写MapReduce程序而直接实现Hadoop。”他指的是Hive,但Hive也有一定的复杂性。

  Hive将类SQL语句转换为MapReduce程序,但是由于采用了其他查询系统,所以转换过程通常需要大量的调优。Mackles在本月的TDWI BI Executive Summit 2013大会上指出,数据联合“并不是它的强项”。Mackles指出,由于其他一些原因,其性能也存在问题,因为Hive只支持批处理,而且与MapReduce一起运行会在处理任务时增加启动开销,而且在任务执行时会增加后续处理的负载。

  Hadoop还有一些固有的操作方式。Hadoop文件系统并不兼容Posix,所以挂载文件系统的方法并不为人熟知。他指出,Hadoop将文件划分为多个可管理单元,以支持并行处理,但是开发或运营团队成员有时候必须“考虑如何分割和压缩文件”。

  Mackles指出,如果想要开始学习Hadoop,最好先挑选一些较简单、易完成的项目。Mackles将一些停车文件、Hive聚合和实验作为Hadoop的“轻松用例”,同时指出那些要求快速实现性能的操作应用不适合作为第一次尝试。

  Mackles列举了很多Hadoop的实用工具,包括YARN、Impala、HCatalog等。用Mackles的话说就是“它们代表了趋向实时的重大转变。”这些工具都很有帮助,但是在实践中了解这么多Hadoop新工具本身还具有一定难度。

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

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

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

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

作者

Jack Vaughan
Jack Vaughan

TechTarget新闻记者和网站编辑,主要关注数据管理领域的技术趋势和动态。

翻译

曾少宁
曾少宁

TechTarget中国特约技术编辑,某高校计算机科学专业教师和网络实验室负责人,曾任职某网络国际厂商,关注数据中心、开发运维、数据库及软件开发技术。有多本关于思科数据中心和虚拟化技术的译著,如《思科绿色数据中心建设与管理》和《基于IP的能源管理》等。

相关推荐