MapReduce在Hadoop中的重要性

时间:2020-02-23 14:33:39  来源:igfitidea点击:

对于大多数Hadoop的历史,MapReduce在数据处理时一直是城镇中唯一的比赛。
Mapreduce的可用性是Hadoop成功的原因,同时有一个限制进一步采用的主要因素。

MapReduce使熟练的程序员能够编写分布式应用程序,而无需担心底层分布式计算基础结构。
这是一个非常大的协议:Hadoop和MapReduce框架处理应用程序开发人员不需要处理的各种复杂性。

例如,通过添加节点和数据存储和数据处理子系统的自动故障转移透明地缩放群集的能力,对应用有零影响。

这里的另一面是,虽然MapReduce隐藏了巨大的复杂性,但你不能忘记它是什么:一个并行编程的界面。
这是一个先进的技能 - 以及更广泛采用的障碍。
简单地没有许多MapReduce程序员,而不是每个人都有技能掌握它。

在Hadoop的早期(Hadoop 1和之前)中,我们只能在群集上运行MapReduce应用程序。
在Hadoop 2中,纱线组件通过从MapReduce框架中占据资源管理和调度,并提供通用界面来改变所有这些,以便于在Hadoop集群上运行应用程序。

简而言之,这意味着MapReduce现在只是我们可以用来在Hadoop上开发和运行应用程序的许多应用程序框架之一。
虽然它当然可以在Hadoop上使用其他框架运行应用程序,但这并不意味着我们可以开始忘记MapReduce。

MapReduce目前是唯一可用于Hadoop的制作数据处理框架。
虽然其他框架最终可用,但MapReduce几乎在其皮带下成熟几十年(近4,000个JIRA问题完成,涉及数百名开发人员,如果我们保持轨道)。

没有争议:MapReduce是Hadoop最成熟的数据处理框架。
此外,现在使用大量MapReduce代码,不太可能很快就会去任何地方。
长话短说:Mapreduce是Hadoop故事的重要组成部分。

Apache Hive和Apache Pig项目非常受欢迎,因为它们在Hadoop上的数据处理方便点更容易。
对于许多问题,特别是我们可以使用SQL,Hive和Pig解决的种类是优秀的工具。
但是对于更广泛的任务,例如统计处理或者文本提取,特别是用于处理非结构化数据,我们需要使用MapReduce。