什么是MapReduce,一文带你读懂

简介: 什么是MapReduce,一文带你读懂

 什么是MapReduce?

MapReduce是一种编程模型,用于大规模数据集的并行运算;是面向大数据并行处理的计算模型、框架和平台。

MapReduce思想是什么?

MapReduce的思想核心是分而治之

image.gif编辑

所谓“分而治之”就是把一个复杂的问题按一定的“分解”方法分为规模较小的若干部分,然后逐个解决,分别找出各部分的解,再把把各部分的解组成整个问题的解。

概况起来,MapReduce所包含的思想分为两步:

"Map(映射)" 和 "Reduce(归约)"

Map负责“分”,即把复杂的任务分解为若干个“简单的任务”来并行处理。可以进行拆分的前提是这些小任务可以并行计算,彼此间几乎没有依赖关系

Reduce负责“合”,即对map阶段的结果进行全局汇总

如何通俗的理解?

比较形象的语言解释MapReduce:

要数停车场中的所有停放车的总数量。

你数第一列,我数第二列…这就是Map阶段,人越多,能够同时数车的人就越多,速度就越快。

数完之后,聚到一起把所有人的统计数加在一起。这就是Reduce合并汇总阶段。

image.gif编辑

为什么要有MapReduce?

你一个人数一个停车场的汽车,很吃力,如果让你的几个好朋友和你一起数,你最后一汇总是不是就很简单了?这就是为什么要有MapReduce。

目录
相关文章
|
存储 分布式计算 负载均衡
【大数据技术Hadoop+Spark】MapReduce概要、思想、编程模型组件、工作原理详解(超详细)
【大数据技术Hadoop+Spark】MapReduce概要、思想、编程模型组件、工作原理详解(超详细)
974 0
Arkts http数据请求
Arkts http数据请求
808 0
|
消息中间件 存储 安全
SpringBoot与RabbitMQ详解与整合
SpringBoot与RabbitMQ详解与整合
2854 0
|
缓存 分布式计算 资源调度
MapReduce入门(一篇就够了)
MapReduce入门(一篇就够了)
10081 1
MapReduce入门(一篇就够了)
|
8月前
|
网络协议 安全 网络性能优化
OSI 七层模型详解
本文介绍了 OSI 七层模型各层的功能与常见协议。物理层负责比特流传输,涉及信号编码与接口标准;数据链路层组织帧并实现差错控制;网络层处理路由与寻址;传输层提供端到端数据传输服务;会话层管理会话连接;表示层处理数据编码与加密;应用层直接为用户提供服务。文中还列举了各层的典型协议,如 IP、TCP、HTTP 等,详细解析其作用与应用场景。
2136 3
|
11月前
|
SQL 存储 大数据
Flink 基础详解:大数据处理的强大引擎
Apache Flink 是一个分布式流批一体化的开源平台,专为大规模数据处理设计。它支持实时流处理和批处理,具有高吞吐量、低延迟特性。Flink 提供统一的编程抽象,简化大数据应用开发,并在流处理方面表现卓越,广泛应用于实时监控、金融交易分析等场景。其架构包括 JobManager、TaskManager 和 Client,支持并行度、水位线、时间语义等基础属性。Flink 还提供了丰富的算子、状态管理和容错机制,如检查点和 Savepoint,确保作业的可靠性和一致性。此外,Flink 支持 SQL 查询和 CDC 功能,实现实时数据捕获与同步,广泛应用于数据仓库和实时数据分析领域。
7084 32
|
12月前
|
机器学习/深度学习 人工智能 算法
【AI系统】推理参数
本文介绍了AI模型网络参数的基本概念及硬件性能指标,探讨了模型轻量化的重要性。随着深度学习的发展,模型参数量和计算量不断增大,导致难以直接部署到移动端。文章详细解析了FLOPs、FLOPS、MACCs等计算指标,并对比了标准卷积层、Group卷积、Depth-wise卷积和全连接层的参数计算方法,为模型优化提供了理论基础。
510 1
|
存储 分布式计算 Java
大数据存储技术(3)—— HBase分布式数据库
大数据存储技术(3)—— HBase分布式数据库
5609 0
|
分布式计算 C语言 Python
基于Python实现MapReduce
一、什么是MapReduce 首先,将这个单词分解为Map、Reduce。 • Map阶段:在这个阶段,输入数据集被分割成小块,并由多个Map任务处理。每个Map任务将输入数据映射为一系列(key, value)对,并生成中间结果。 • Reduce阶段:在这个阶段,中间结果被重新分组和排序,以便相同key的中间结果被传递到同一个Reduce任务。每个Reduce任务将具有相同key的中间结果合并、计算,并生成最终的输出。