企业智能化解决方案服务商

MapReduce

Hadoop MapReduce是一个处理大数据并行的软件框架。

产品类型: 控件 产品功能: IDE 平台语言: 源码: 不提供源码 产品编号: 13766
  • 当前版本: [销售以商家最新版为准,如需其他版本,请来电咨询]
  • 开  发 商:Apache 正式授权

关于本产品的分类与介绍仅供参考,具体以商家网站介绍为准。加企业QQ:800018081 咨询该产品

Hadoop MapReduce是一个可轻松编写大数据应用程序的软件框架,其编写的应用程序能够以可靠和高容错的方式处理大型集群(成千上万个节点)中海量数据集(以TB为计)的并行。

MapReduce基本结构由被称为Map(映射)和Reduce(归约)的两部分用户程序组成,它极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。 当前的软件实现是指定一个Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(归约)函数,用来保证所有映射的键值对中的每一个共享相同的键组。

声明:本产品中文介绍为慧都网版权所有,未经慧都公司书面许可,严禁拷贝、转载!

需要培训、定制、外包?请联系我们!企业QQ:800018081 慧都专业技术团队帮助您提高效率,节省成本,降低风险!

关于本产品的分类与介绍仅供参考,精准产品资料以官网介绍为准,如需购买请先行测试。

编程模型

MapReduce采用“分而治之”的思想,把对大规模数据集的操作,分发给一个主节点管理下的各个分节点共同完成,然后通过整合各个节点的中间结果,得到最终结果。简单地说,MapReduce就是“任务的分解与结果的汇总”。

在Hadoop中,用于执行MapReduce任务的机器角色有两个:一个是JobTracker;另一个是TaskTracker,JobTracker是用于调度工作的,TaskTracker是用于执行工作的。一个Hadoop集群中只有一台JobTracker。

在分布式计算中,MapReduce框架负责处理了并行编程中分布式存储、工作调度、负载均衡、容错均衡、容错处理以及网络通信等复杂问题,把处理过程高度抽象为两个函数:map和reduce,map负责把任务分解成多个任务,reduce负责把分解后多任务处理的结果汇总起来。

需要注意的是,用MapReduce来处理的数据集(或任务)必须具备这样的特点:待处理的数据集可以分解成许多小的数据集,而且每一个小数据集都可以完全并行地进行处理。

主要功能

MapReduce提供了以下的主要功能:

1)数据划分和计算任务调度:

系统自动将一个作业(Job)待处理的大数据划分为很多个数据块,每个数据块对应于一个计算任务(Task),并自动 调度计算节点来处理相应的数据块。作业和任务调度功能主要负责分配和调度计算节点(Map节点或Reduce节点),同时负责监控这些节点的执行状态,并 负责Map节点执行的同步控制

2)数据/代码互定位:

为了减少数据通信,一个基本原则是本地化数据处理,即一个计算节点尽可能处理其本地磁盘上所分布存储的数据,这实现了代码向 数据的迁移;当无法进行这种本地化数据处理时,再寻找其他可用节点并将数据从网络上传送给该节点(数据向代码迁移),但将尽可能从数据所在的本地机架上寻 找可用节点以减少通信延迟。

3)系统优化:

为了减少数据通信开销,中间结果数据进入Reduce节点前会进行一定的合并处理;一个Reduce节点所处理的数据可能会来自多个 Map节点,为了避免Reduce计算阶段发生数据相关性,Map节点输出的中间结果需使用一定的策略进行适当的划分处理,保证相关性数据发送到同一个 Reduce节点;此外,系统还进行一些计算性能优化处理,如对最慢的计算任务采用多备份执行、选最快完成者作为结果。

4)出错检测和恢复:

以低端商用服务器构成的大规模MapReduce计算集群中,节点硬件(主机、磁盘、内存等)出错和软件出错是常态,因此 MapReduce需要能检测并隔离出错节点,并调度分配新的节点接管出错节点的计算任务。同时,系统还将维护数据存储的可靠性,用多备份冗余存储机制提 高数据存储的可靠性,并能及时检测和恢复出错的数据。

类型 标题 发布时间
文章 关于Hadoop,你需要了解的一些相关大数据工具

如今Apache Hadoop已成为大数据行业发展背后的驱动力。Hive和Pig等技术也经常被提到,但是它们都有什么功能,为什么会需要奇怪的名字(如Oozie、ZooKeeper、Flume)

2016-01-27
文章 化繁为简 如何形象地向老婆解释MapReduce?

MapReduce是编写大数据应用程序的软件框架,常用于处理大型集群中海量数据的并行,MapReduce基本结构由被称为Map(映射)和Reduce(归约)的两部分用户程序组成。本文的作者使用了一个非常浅显易懂的比喻来解释MapReduce的工作原理。

2016-01-27

客服
开发商其他产品
  • Apache Flume

    一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统

  • Tajo

    Apache Tajo是Hadoop上的一个大数据仓库系统。

  • AsterixDB

    Apache AsterixDB是一个全新的、功能齐全的大数据管理系统。

  • Falcon

    Apache Falcon是一个用于管理Hadoop集群数据生命周期的框架。

  • Storm

    Apache Storm是一个免费、开源的分布式实时计算系统。

  • Flume

    Flume是一个分布式、可靠、和高可用的海量日志聚合系统

  • Spark

    Apache Spark是一个用于大规模数据处理的快速通用引擎。

  • Impala

    Impala是一个Java企业应用程序开发动态模块框架。

  • Avro

    Apache Avro是一个数据序列化系统。

  • MapReduce

    Hadoop MapReduce是一个处理大数据并行的软件框架。

同类产品
  • CodeMix

    CodeMix是一款解锁了VS Code的各种技术以及为Code OSS构建的附加扩展的插件。

  • Altova MobileTogether

    跨平台移动开发框架

  • Project Rider

    一个全新的基于IntelliJ平台和ReSharper的C# IDE

  • SharePoint Create & Clone AD User Account Web Part

    可快速创建、克隆活动目录和SharePoint用户帐户的Web组件。

  • Falcon

    Apache Falcon是一个用于管理Hadoop集群数据生命周期的框架。

  • Impala

    Impala是一个Java企业应用程序开发动态模块框架。

  • IBM MobileFirst Platform Foundation

    帮助企业实施移动战略,提供全面的开放式平台,用于开发、测试、保护和管理本机、混合及移动 Web 应用。

  • IBM InfoSphere Streams

    高效捕获和分析动态数据的软件平台

  • VB Friend

    VB Friend是运行在Visual Basic 6的插件,可加速VB代码的编写。