MapReduce是什么?有哪些特征和优点?

news/2025/1/9 13:34:41/

MapReduce是什么

Hadoop MapReduce是一个分布式计算框架,用于轻松编写分布式应用程序,这些应用程序以可靠,容错的方式并行处理大型硬件集群(数千个节点)上的大量数据(多TB数据集)。

MapReduce是一种面向海量数据处理的一种指导思想,也是一种用于对大规模数据进行分布式计算的编程模型。

发展历程

MapReduce最早由Google于2004年在一篇名为《MapReduce:Simplified Data Processingon Large Clusters》的论文中提出。

论文中谷歌把分布式数据处理的过程拆分为Map和Reduce两个操作函数(受到函数式编程语言的启发),随后被 Apache Hadoop参考并作为开源版本提供支持,叫做Hadoop MapReduce。

它的出现解决了人们在最初面临海量数据束手无策的问题,同时它还是易于使用和高度可扩展的,使得开发者无需关系分布式系统底层的复杂性即可很容易的编写分布式数据处理程序,并在成千上万台普通的商用服务器中运行。

MapReduce特点

  • 易于编程

Mapreduce框架提供了用于二次开发的接口;简单地实现一些接口,就可以完成一个分布式程序。任务计算交给计算框架去处理,将分布式程序部署到hadoop集群上运行,集群节点可以扩展到成百上千个等。

  • 良好的扩展性

当计算机资源不能得到满足的时候,可以通过增加机器来扩展它的计算能力。基于MapReduce的分布式计算得特点可以随节点数目增长保持近似于线性的增长,这个特点是MapReduce处理海量数据的关键,通过将计算节点增至几百或者几千可以很容易地处理数百TB甚至PB级别的离线数据。

  • 高容错性

Hadoop集群是分布式搭建和部署得,任何单一机器节点宕机了,它可以把上面的计算任务转移到另一个节点上运行,不影响整个作业任务得完成,过程完全是由Hadoop内部完成的。

适合海量数据的离线处理

可以处理GB、TB和PB级别得数据量

  • MapReduce局限性

MapReduce虽然有很多的优势,也有相对得局限性,局限性不代表不能做,而是在有些场景下实现的效果比较差,并不适合用MapReduce来处理,主要表现在以下结果方面:

  • 实时计算性能差

MapReduce主要应用于离线作业,无法作到秒级或者是亚秒级得数据响应。

  • 不能进行流式计算

流式计算特点是数据是源源不断得计算,并且数据是动态的;而MapReduce作为一个离线计算框架,主要是针对静态数据集得,数据是不能动态变化得。


http://www.ppmy.cn/news/79659.html

相关文章

如何解决端口号被占用的方法

在学习JavaWeb的过程中,在运行代码的时候经常会提示端口号被占用的情况;出现这情况的主要原因就是没有正常关闭tomcat。 那么遇到这种情况应该怎么解决呢? 首先第一种方式就是把电脑关机重启,这种方法可谓是百试百灵;另…

2023 最全 Java 面试八股(涵盖所有 Java 核心面试知识点),立刻收藏

2022 已成为过去式,不论这一年好与坏,我们都需要抓住新一年的机会,跳槽涨薪,还是学习提升!先给自己定一个小目标,然后再朝着目标去努力就完事儿了!为了帮大家节约时间,给大家搞来了 …

Springboot +spring security,实现RememberMe和实现原理分析

一.简介 我们在登录网站的时候,除了让你输入用户名和密码,还会有个勾选框: 记住我。 比如下面这个截图: Spring Security 也提供了这个功能,今天来实践下。 二.创建项目 如何创建一个SpringSecurity项目&#xff0…

如何使用Python编写脚本来自动获取和保存网络小说

部分数据来源:ChatGPT 概述 在网络时代,人们都习惯了利用互联网获取各种信息。小说是人们休闲、娱乐的重要内容之一。所以,许多人常常会使用各种软件或网站在线阅读小说。但有些情况下,我们可能想要将小说保存到本地进行离线阅读,或是将小说内容进行分析处理。此时,我们…

Python数据可视化入门教程

什么是数据可视化? 数据可视化是为了使得数据更高效地反应数据情况,便于让读者更高效阅读,通过数据可视化突出数据背后的规律,以此突出数据中的重要因素,如果使用Python做数据可视化,建议学好如下这四个Pyt…

PIC18F26单片机波特率配置

只需要配置以下三个寄存器: BRGCON1 BRGCON2 BRGCON3 BRGCON10x07; > 0000 0111 BRGCON20x90; > 1001 0000 BRGCON30x42; > 0101 0010 BRGCON1: Sync_Sog (bit7~bit6)1TQ,BRP(bit5~bit0)1 ,则TQ((2*(BRP1))/Fosc16/32M&am…

FIDLLER抓包,APP不出现数据的情况

解决方案 上面的都是一些理论方面的内容,到底该如何突破SSL Pinning机制能够抓到App的https请求包呢? 方案一:使用Android7.0以下的系统 目前已验证在Android 7.0或以上的系统有启用了对第三方证书的限制。但是在Android 7.0以下还是依旧可…

ecucoder实训——集合与字典

文章目录 大学排行榜分析任务描述相关知识问题描述编程要求代码摩斯密码解密任务描述相关知识编程要求代码摩斯密码加密器任务描述相关知识编程要求代码摩斯密码任务描述相关知识编程要求代码翻译句子任务描述相关知识编程要求代码<