并行计算框架MapReduce编程模型

简介: 思想:分而治之map:对每一部分进行处理reduce :汇总map结果map是MapReduce最核心的。mapreduce编程模型一种分布式计算模型,解决海量数据计算问题MapReduce把整个并行计算的过程抽象到两个函数,map和reduce函数。

思想:分而治之

  • map:对每一部分进行处理
  • reduce :汇总map结果

map是MapReduce最核心的。

mapreduce编程模型

一种分布式计算模型,解决海量数据计算问题

MapReduce把整个并行计算的过程抽象到两个函数,map和reduce函数。
map(映射):对一些独立元素组成的列表的每一个元素进行指定操作,可以高度并行。(10T分解分解成1T ,1t就是独立元素)
Reduce(化简):对一个列表的元素进行合并。
一个简单的mapreduce程序只需要指定map(),reduece(),input和output,剩下的事就是mapreduce框架的事。

mapReduce执行过程

put--map-reduce-output

在put第一个环节,就把文件以map key value形式处理了。当到第2,3,4环节map、的时候实际得到的是处理好的map key value数据。

MapReduce将作业的整个运行过程分为两个阶段

map阶段
map阶段由一定数量的Maptask组成

  • 数据数据的格式解析 InputFormat
  • 数据数据处理 mapper
  • 数据分组 partitioner

reduce阶段
reduce阶段由一定数量的reducetask组成

  • 数据远程copy
  • 数据按需排序
  • 数据处理 reducer
  • 数据输出格式 outputFormat

编写mapreduce程序

基于mapReduce模型编写分布式并行程序非常简单,程序员的主要编码工作就是实现map和Reduce函数
其他并行编程中种种复杂的问题,例如:分布式存储、工作调度、负载、容错、网络通信,均由yarn框架处理

计算wordcount符合范式

公式:input--->map-->reduece->output
bin/hdfs dfs jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0.jar input output

key:偏移量 value:行数据

hadoop yarn --> <0,hadoop yarn>
hadoop mapreduce --> <11,hadoop mapreduce>
hadoop hdfs
yarn nodemanager
hadoop resourcemanager

目录
相关文章
|
4月前
|
分布式计算 大数据 Hadoop
揭秘MapReduce背后的魔法:从基础类型到高级格式,带你深入理解这一大数据处理利器的奥秘与实战技巧,让你从此不再是编程门外汉!
【8月更文挑战第17天】MapReduce作为分布式计算模型,是大数据处理的基石。它通过Map和Reduce函数处理大规模数据集,简化编程模型,使开发者聚焦业务逻辑。MapReduce分单阶段和多阶段,支持多种输入输出格式如`TextInputFormat`和`SequenceFileInputFormat`。例如,简单的单词计数程序利用`TextInputFormat`读取文本行并计数;而`SequenceFileInputFormat`适用于高效处理二进制序列文件。合理选择类型和格式可有效解决大数据问题。
71 1
|
3月前
|
分布式计算 资源调度 Hadoop
在YARN集群上运行部署MapReduce分布式计算框架
主要介绍了如何在YARN集群上配置和运行MapReduce分布式计算框架,包括准备数据、运行MapReduce任务、查看任务日志,并启动HistoryServer服务以便于日志查看。
74 0
|
4月前
|
缓存 分布式计算 Java
详细解读MapReduce框架中的分布式缓存
【8月更文挑战第31天】
51 0
|
6月前
|
分布式计算 Hadoop Java
MapReduce编程模型——在idea里面邂逅CDH MapReduce
MapReduce编程模型——在idea里面邂逅CDH MapReduce
89 15
|
6月前
|
分布式计算 资源调度 数据处理
YARN支持哪些非基于MapReduce的计算模型?
【6月更文挑战第19天】YARN支持哪些非基于MapReduce的计算模型?
75 11
|
6月前
|
存储 分布式计算 Hadoop
MapReduce编程模型——自定义序列化类实现多指标统计
MapReduce编程模型——自定义序列化类实现多指标统计
52 0
|
6月前
|
机器学习/深度学习 分布式计算 并行计算
MapReduce是一种用于并行计算的编程模型和处理大规模数据集的实现
MapReduce是一种用于并行计算的编程模型和处理大规模数据集的实现
93 0
|
数据采集 分布式计算 搜索推荐
Hadoop学习---7、OutputFormat数据输出、MapReduce内核源码解析、Join应用、数据清洗、MapReduce开发总结(一)
Hadoop学习---7、OutputFormat数据输出、MapReduce内核源码解析、Join应用、数据清洗、MapReduce开发总结(一)
|
存储 分布式计算 Hadoop
Hadoop基础学习---6、MapReduce框架原理(一)
Hadoop基础学习---6、MapReduce框架原理(一)
|
存储 分布式计算 Hadoop
【Hadoop】一个例子带你了解MapReduce
【Hadoop】一个例子带你了解MapReduce
105 1