MapReduce

什么是 MapReduce?

MapReduce 是在广泛应用于大数据的数据分析引擎 Hadoop 上运行的编程模型,能够写入可并行运行以处理存储在群集上大量数据的应用。

弹性灵活性

尽管 MapReduce 的执行速度明显慢于其他模型,但是其主要优势在于弹性灵活性,能够快速扩展或分配更多计算机节点来缩短计算时间。MapReduce 能够跨数千个节点扩展,原因很可能是其使用分布式文件系统,且能够靠近数据运行流程,而不是移动数据本身。其可扩展性能够降低存储和处理不断增加之数据的成本。

并行处理

有了 MapReduce 后,开发人员不再需要单独为并行性、分发数据或其他复杂的代码任务编写代码,因为这些已是模型的内建功能。仅这一项特色就能够缩短分析编程时间。

非结构化数据支持

在产生的数据中,非结构化数据占据大多数 (80%),而 MapReduce 支持任何类型的数据结构,能够协助企业更有效地分析数据。

容错

MapReduce 不易受会导致系统停止之硬件故障的影响,原因在于其运行时会将数据分发到许多计算机和服务器上。MapReduce 会将一个完整的数据集发送到网络中的每一个节点,如果一个节点或一个硬件出现故障,所有数据都能幸免且可自动恢复。

 

MapReduce 如何运作?

MapReduce 的运作方式可拆解为三个阶段,并提供第四个可选选项。

  • Mapper:在第一个阶段中,条件逻辑会筛选所有节点上的数据,以生成键值对。“键”指的是每一份记录的偏量地址,“值”包含所有记录内容。
  • 洗牌:在第二个阶段中,源自映射的输出值会予以排序和整合。按照类似键对值进行分组,舍弃所有重复值。洗牌阶段输出也按照键值对排列,但此时值指示的是某个范围,而不是某个记录的内容。
  • Reducer:在第三个阶段,已整合“洗牌”阶段的输出会进行聚合,所有值都会加上其对应的键。这些内容之后会组合为一份输出目录。
  • Combiner:这一阶段可优化 MapReduce 作业性能,加快作业处理速度。其会将映射输出置于节点等级,检查是否存在重复值;所得结果会组合为单一 k-v 对,因此能够减少“洗牌”阶段必须完成的工作量。

至于如何完成这些阶段……由于架构由资源管理器和节点管理器这两项守护程序服务构成,因此其能够运行“映射”和“缩减”任务,并监控及重新执行未能成功的任务。这两项服务也能够管理并行处理,以及所有 MapReduce 作业上的容错组件。

结构往下深入时,资源管理和计划安排/监控功能会拆解为不同守护程序:全域资源管理器 (resources manager) 和各个应用的应用管理器 (application master)。

作业进来时,资源管理器会协调所有运行中应用的群集资源分配。其会与应用管理器和节点管理器合作,确定哪些节点能够处理任务。之后由应用管理器和节点管理器协调。节点管理器实际上负责计算容器的启动和监控以完成作业。

公司如何应用 MapReduce?

由于数据处理市场已经成熟,MapReduce 的市场份额缩减到不到 1%。饶是如此,在美国仍有近 1500 家公司仍在使用此款产品,其他国家(地区)也有部分受众。 

大体上,MapReduce 的受众来自计算机软件和 IT 服务行业。其他行业包括金融服务、医院和医疗保健、高等教育、零售、保险、电信和银行业。下列示例为几个用例:

  • 金融服务:零售银行使用 Hadoop 系统来确认数据准确性和质量是否符合联邦法规。
  • 医疗保健:医疗 IT 公司使用 Hadoop 系统对几十年的索赔和汇款数据进行归档,相当于每天处理数 TB 数据,而且还要将这些数据存储起来,以供日后分析使用。另一款医院系统会从患者所连接的传感器收集几十亿个不间断的数据点,对患者生命体征进行监控。
  • IT 服务:一家 IT 服务提供商从其部署在客户现场的存储系统收集诊断数据。其所使用的 Hadoop 系统依托非结构化日志和系统诊断信息运行 MapReduce。
  • 研究:在对人类基因组计划进行持续研究的过程中,使用 Hadoop MapReduce 来处理海量数据。一家热门家族基因研究提供商运行的基因测序数据十分惊人,包括与出生、死亡、人口普查结果以及军队和移民记录相关的结构化和非结构化数据,这类数据达到 PB 级别且将继续增加。
  • 零售:一家知名网络商城使用 MapReduce 来分析大量日志数据,为的是确定客户行为、搜索建议等。一家主要百货公司通过 Hadoop 系统运行市场营销活动数据以获得洞见,从而针对每一位客户打造更具针对性的营销活动。
  • 电信:一家主要电信供应商要存储几十亿份可供客户实时访问的呼叫记录,为此要处理数百 TB 的数据。

HPE 如何促进 MapReduce?

HPE 提供多款解决方案,可协助您节省用于管理执行 MapReduce 之 Hadoop 系统所需要的时间、资金和人力资源

例如,HPE Pointnext Services 会提供针对大数据分析环境的规划、设计及整合提供建议和技术指导。其能够简化 Hadoop 和 MapReduce 的设计和实施,以便您专注探索分析洞见,从而作出明智的业务决策。

此外,HPE GreenLake 提供可从根本上简化整个 Hadoop 生命周期的可扩展解决方案。它是一款端到端解决方案,其中包括必备硬件、软件以及面向对称环境和非对称环境的支持。借助 HPE 独特的定价和计费方法,您可以更轻松地了解现有 Hadoop 成本,更准确地预测与解决方案相关的未来成本。

多年来 HPE 为改进 Hadoop 环境而收获深厚的客户互动体验,使得 HPE 能够打造出经测试且可随时实施的两版企业级 Hadoop 解决方案。这些版本辅以 HPE Insight 群集管理实用程序,使 IT I&O 主管能够快速配置、管理、监控其基础设施,并选择实施 Hadoop 的方式。HPE GreenLake 解决方案支持 HPE 企业级 Hadoop 标准版解决方案。