(六)MapReduce特点

MapReduce编程实例(六) 前提准备: 1.hadoop安装运行正常。Hadoop安装配置请参考:Ubuntu下 Hadoop 1.2.1 配置安装 2.集成开发环境正常。集成开发环境配置请参考 :Ubuntu 搭建Hadoop源码阅读环境 MapReduce编程实例: MapReduce编程实例(一),详细介绍在集成环境中运行第一个MapReduce程序 WordCount及代码分析 阅读详情

MapReduce特点

适合数据复杂度运算
不适合算法复杂度的运算
不适合实时计算、流式计算、DAG有向图计算
综上,要求算法足够简单,数据可以足够大!

MapReduce架构

采用Master/Slave
这里写图片描述

执行流程

MapReduce包含四个组成部分
Client
JobTracker
TaskTracker
Task
Map算法Reduce数据
从HDFS出来Split[0,1,……],用getsplit()分片。Split数量决定MapTask数量,即MapTask数量无法自己决定。
Map主要就是用来对数据进行切分。
Partitioner通过返回确定reduce数量,

hello world --无需split-->hello world---recordreader-->
hello hadoop             hello hadoop

<O,hello word>---map---><hello,1><world,1>---无需partitioner--->
<O,hello word>         <hello,1><hadoop,1> 

---combine---><hello,1,1><world,1><hadoop,1>---无需copy--->
---reduce---><hello,2><world,1><hadoop,1>--->output
1.23 0.91--split-->10000点坐标--recordreader--><0,1.23 0.91>
1.45 1.11                                    <0,1.45 1.11 >
0.22 0.25                                    <0,0.22 0.25 >
--map-->截取浮点数,算出距离,记录是否在圆内--><O,1>--无需partitioner-->
                                         <O,0>
                                         <O,1>
--combine--><0,1 1 1 1 1>--无需copy-->--reduce--><0,n> n*4/10000

MapReduce完整执行流程如图所示
这里写图片描述

Map流程
Inputformat:首先将 HDFS 中的数据以 Split 方式作为 MapReduce 的输入
Mapper:每个Mapper 将输入(key,value)数据解析成输出(key,value)
Partition:根据key或value及reduce的数量来决定当前的这对输出数据最终应该交由哪个reduce task处理( Partitioner接口,默认自动完成,可定制)
Combine:缓存溢写时完成,如果有很多个相同key/value对需要发送到某个reduce端去,那么需要将这些key/value值拼接到一块,减少与partition相关的索引记录(reducer接口,默认自动完成,可定制)
Merge:溢写文件合并,同时再次执行Combiner(默认自动完成)
注:
HDFS中的数据是以 block存储,这里怎么又变成了以Split 作为输入呢?其实 block 是 HDFS 中的术语,Split 是 MapReduce 中的术语。默认的情况下,一个 Split 可以对应一个 block,当然也可以对应多个block,它们之间的对应关系是由 InputFormat 决定的。默认情况下,使用的是 TextInputFormat,这时一个Split对应一个block。 假设这里有4个block,也就是4个Split,分别为Split0、Split1、Split2和Split3。这时通过 InputFormat 来读每个Split里面的数据,它会把数据解析成一个个的(key,value),然后交给已经编写好的Mapper 函数来处理。

默认对key hash后再以reduce task数量取模。默认的取模方式只是为了平均reduce的处理能力,如果用户自己对Partitioner有需求,可以订制并设置到job上。
Map流程图
这里写图片描述
Reduce流程
Copy:简单地拉取数据
Merge:同map Merge,文件合并
Reducer:每个Reducer将输入(key,value)数据解析成输出(key,value)
把结果放到HDFS上
这里写图片描述

MapReduce的特点及运行架构 MapReduce是一个分布式运算程序的编程框架,是用户开发“基于Hadoop的数据分析应用”的核心框架。MapReduce核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序,并发运行在一个Hadoop集群上。 阅读详情

相关推荐

MapReduce超详解

MapReduce超详解

m0_51388399的博客 2035

Map-Reduce优缺点

优点 MapReduce 易于编程 :它简单的实现一些接口,就可以完成一个分布式程序,这个分布式程序可以分布到大量廉价的PC机器上运行。也就是说你写一个分布式程序,跟写一个简单的串行程序是一模一样的。就是因为这个特点使得MapReduce编程变得非常流行。 良好的扩展性 :当你的计算资源不能得到满足的时候,你可以通过简单的增加机器来扩展它的计算能力。 高容错性 :MapReduce设计的初衷就是使程序能够部署在廉价的PC机器上,这就要求它具有很高的容错性。比如其中一台机器挂了,它可以把上面的计算任务转移到

qq_42185397的博客 901

Hadoop:一文详解MapReduce的工作机制

Hadoop MapReduce是一个软件框架,基于该框架能够容易地编写应用程序,这些应用程序能够运行在由上千个商用机器组成的大集群上,并以一种可靠的,具有容错能力的方式并行地处理上TB级别的海量数据集。这个定义里面有着这些关键词,一是软件框架,二是并行处理,三是可靠且容错,四是大规模集群,五是海量数据集。因此,对于MapReduce,可以简洁地认为,它是一个软件框架,海量数据是它的“菜”,它在大规模集群上以一种可靠且容错的方式并行地“烹饪这道菜”。

Machine Learning with Tutors 7379

Hadoop学习笔记:分布式计算引擎MapReduce

MapReduce简介 MapReduce源自于Google发表于2004年12月的MapReduce论文,Hadoop MapReduce是Google MapReduce克隆版。 MapReduce源于函数式编程,包括Map和Reduce两个算子,它是一个通用的计算引擎,所以易于编程,可以实现任意的算法,表达能力很强,只是效率有区别。 MapReduce是一个分布式应用框架,解决数据导入读取,...

BigPig的博客 2174

在windows上,在WSL 2(windows subsystem linux) 里一步步安装vLLM

本文介绍了在Windows系统上通过WSL2配置GPU加速的AI开发环境的完整流程。主要包括四个步骤: 1)安装WSL2并配置Ubuntu环境; 2)安装NVIDIA驱动和CUDA工具包; 3)搭建Python虚拟环境并安装vLLM; 4)验证环境并启动AI模型服务。

2601_96126911的博客 421

无人机飞控算法开发实战:从零到一构建企业级飞控系统

本文系统介绍了无人机飞控算法开发的完整流程,包括飞行动力学模型建立、传感器校准与数据融合、主流控制算法实现(PID、ADRC、EKF)以及企业级飞控系统架构设计。通过结合开源飞控框架(如PX4)和实际工程经验,提供了完整的代码实现示例,帮助学者从零开始掌握无人机飞控开发的核心技术。文中详细讲解了四旋翼无人机的动力学模型、传感器校准方法、EKF状态估计算法、PID和ADRC控制算法的实现,以及MAVLink通信协议的集成。最后,总结了完整的飞控系统开发流程和未来发展趋势。

全栈 3403

深入浅出MapReduce

本文是基于CentOS ...

一个有趣、有料、有内涵的地方! 2592

5分钟搞懂异构图注意力网络(HAN):从元路径到节点聚合的全流程解析

本文深入解析异构图注意力网络(HAN)的核心原理与实战应用,从元路径设计到多级注意力实现的全流程。HAN通过节点级和语义级双重注意力机制,有效处理包含多种节点和边类型的异构图数据,在电商推荐、学术网络分析等场景展现卓越性能。文章提供DGL实现代码和调参技巧,帮助开发者快速掌握这一强大工具。

weixin_29056701的博客 311

MapReduce简介及优缺点

1、什么是MapReduce? MapReduce是一种大规模数据处理的编程模型,用于大规模数据集的并行运算。Mapreduce核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序,并发运行在一个hadoop集群上。并以一种可靠的,具有容错能力的方式并行地处理上TB级别的海量数据集 ...

ytangdigl的博客 6907

全志T133-s3(Tina Linux)下RTL8723DS WiFi驱动移植与调试实战

本文详细介绍了在全志T133-s3平台(Tina Linux)上移植RTL8723DS WiFi驱动的完整流程,包括硬件连接、驱动源码获取、内核配置、系统适配、设备树配置以及常见问题排查。通过实战案例,帮助开发者快速解决SDIO接口通信、固件加载、电源管理等关键问题,实现稳定的WiFi功能。

weixin_30505225的博客 507

MOS管的体二极管在LLC中的作用

MOSFET是一个三端器件(G、D、S),在N沟道MOSFET的结构中,源极和漏极之间的N型材料中自然形成了一个寄生的PN结,这个PN结就是体二极管(Body Diode),它是不可避免的器件结构。📌 对于N沟MOSFET:体二极管是从漏极 D 到源极 S 的正向导通二极管,方向为 D → S。MOS管的体二极管在LLC中并不是主功率通道,但却是实现软开关(ZVS)和能量过渡的关键“临时路径”。用得好,它是你的朋友;忽略它,电路就可能烧毁。

weixin_43199439的博客 699

MapReduce的特性

MapReduce是一种编程模型,用于大规模数据集 的并行运算。概念"map(映射)和reduce(归约)",和他们的主要思想,都是从函数式编程语言里借来的,还有从矢量编程语言里借来的特性。 1、MapReduce 易于编程 它简单的实现一些接口,就可以完成一个分布式程序,这个分布式程序可以分布到大量廉价的机器上运行。也就是说你写一个分布式程序,跟写一个简单的串行程序是一模一样的。就是因为这个特点使得MapReduce编程变得非常流行。 2、良好的扩展性 当你的计算资源不能得到满足的时候,你可以通过简单的增

LHH201016的博客 5085

学Simulink--机器人基础关节控制场景实例:基于Simulink的无刷直流电机(BLDC)关节六步换相位置控制仿真

本文详细介绍了基于Simulink的BLDC六步换相位置控制仿真方法,针对机器人关节的低成本控制需求。重点阐述了霍尔定位、六步换相和位置闭环三大核心原理,通过Simulink建模实现了从霍尔信号处理到位置环控制的全流程。仿真结果表明,该系统可实现0.3°的定位精度和80ms的响应时间,满足教育机器人等应用场景需求。文章还提供了核心代码模块和参数设置方法,并探讨了转矩脉动抑制、无传感器控制等进阶优化方向,为低成本机器人关节驱动提供了实用解决方案。

amy_mhd的博客 152

MapReduce是什么?有什么特点?

前言 本文隶属于专栏《1000个问题搞定大数据技术体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢! 本专栏目录结构和参考文献请见1000个问题搞定大数据技术体系 正文 MapReduce 来源于 Google 2004 年发布的论文,它是一个编程模型,用以进行大数据量的计算。 对于大数据量的计算,通常采用的处理方式就是并行计算。 但对许多开发者来说,自己完完全全实现一个并行计算程序难度太大,而 MapReduce 就是一种简化并行计算的编程模型,它使得那些没有多少并行计

Shockang的博客 1万+

【以太网硬件一】802.3xx标准怎么这么多?它们有什么关系?

IEEE 802.3标准发展历史简介

highman110的博客 5017

【DRAM存储器三十五】LPDDR4介绍--主要技术特性之VREF training,为什么要做VREF training?

详述DDR4、LPDDR4需要做vref training的原因和训练过程

highman110的博客 2917

MAPREDUCE详解

1. MAPREDUCE原理篇(1) Mapreduce是一个分布式运算程序的编程框架,是用户开发“基于hadoop的数据分析应用”的核心框架; Mapreduce核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序,并发运行在一个hadoop集群上; 1.1 为什么要MAPREDUCE (1)海量数据在单机上处理因为硬件资源限制,无法胜任 (2)而一旦将单机版程序扩展到集群来分布式运行,将极大增加程序的复杂度和开发难度 (3)引入mapreduce框架后,开发人员

woaini886353的博客 1万+

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

【Hadoop】MapReduce (六)

InputFormat发生在Mapper之前,用于对数据进行切分和读取,会将读取到的数据传递给MapTask处理。所以InputFormat读取到的数据是什么格式,Mapper接收到的数据就是什么格式作用getSplits默认情况下,MapReduce中使用的输入格式是继承了。需要注意的是,负责切片,负责读取切片过程中需要注意的问题:默认情况下,minSplitSize=1B,maxSplitSize=Long.MAX_VALUE在MapReduce中,开头的文件默认是隐藏文件不处理。

大数据爱好者的博客 1432

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

实验六 MapReduce并行编程

实验目的 熟悉并掌握MapReudce并行编程框架的基本原理 理解Shuffle过程 掌握编写MapReduce主要组件与编程接口 实验环境 虚拟机环境 node01 node02 node03 node04 NameNode √ DataNode √ √ √ √ ResourceManager √ NodeManager √ √ √ √ ...

weixin_42534356的博客 635

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

六、MapReduce简介

一、MapReduce简述 MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算,MapReduce是面向大数据并行处理的计算模型、框架和平台,作用为拆分数据,合并数据。 MapReduce的组成 1、JobTracker/ResourceManager:管理任务 2、TaskTracker/NodeManager:执行任务 二、序列化/反序列化机制. 当自定义一个类之后,如...

QvQ 705

【MapReduce入门】深度解析MapReduce:定义、核心特点、优缺点及适用场景

MapReduce作为大数据处理的基石技术,虽然在某些场景下已被更先进的计算框架取代,但其设计思想和编程模型仍然深刻影响着大数据生态系统。理解MapReduce的原理和特点,对于学习后续的大数据技术如Spark、Flink等具有重要意义。MapReduce是一种用于大规模数据集(大于1TB)并行运算的编程模型,由Google在2004年提出,主要用于解决海量数据的分布式计算问题。它将复杂的、运行于大规模集群上的并行计算过程高度抽象为两个函数:Map和Reduce。只需关注业务逻辑,无需处理并行细节。

IT成长日记的博客 1556

spark的特点,spark和mapreduce的比较

1.spark的特点 (1)运行速度快,如果数据由磁盘读取,速度是hadoop mapreduce的10倍以上,如果数据从内存读取,速度是hadoop mapreduce的100倍以上。主要原因是因为基于内存计算和引入DAG执行引擎。 (2)易用性好,spark不仅支持scala编程呢个,还支持java和python编写。 (3)通用性好 (4)随处运行 2.spark和mapreduc...

hy772255的博客 8692

spark的特点,与MapReduce的区别

使用Scala语言进行实现,它是一种面向对象、函数式编程语言,能够像操作本地集合一样轻松的操作分布式数据集。Spark具有运行速度快、易用性好、通用性强和随处运行等特点。

2202_75638893的博客 916

Hadoop详解(六):MapReduce计算框架详解

1. Hadoop MapReduce简介 Hadoop MapReduce是一个使用简便的软件框架,是Google云计算模型MapReduce的Java开源实现,基于它写出来的应用程序能够运行在由上千万台普通机器注册的大型集群系统中,并以一种可靠地、容错的方式并行处理上T级别的数据集。 Hadoop MapReduce基本思想:一个MapReduce作业通常会把输入的数据集合切分为若干独立的数据...

Master-TJ的个人博客 4692

MapReduce 编程 系列六 MultipleOutputs使用

在前面的例子中,输出文件名是默认的:_logs part-r-00001 part-r-00003 part-r-00005 part-r-00007 part-r-00009 part-r-00011 part-r-00013 _SUCCESS part-r-00000 part-r-00002 part-r-00004 part-r-00006 part-

Dean Chen的专栏 5454

详细介绍MapReduce的特点以及其运行架构

▶️ 可扩展性:由于MapReduce模型的并行处理特性,它能够有效地处理大规模数据集。通过将任务分解为多个并行的Map和Reduce任务,可以在集群中的多个计算节点上同时处理数据,从而实现横向扩展。▶️容错性:在MapReduce中,每个Map和Reduce任务都是独立的,它们之间没有依赖关系。当一个计算节点发生故障时,系统可以自动重新分配任务给其他可用的节点,从而实现容错性。▶️简单性:MapReduce模型提供了一种简单而直观的方法来处理大规模数据集。2️⃣ Second MapReduce的特点。

2401_83236175的博客 422
上一篇: hadoop2.x安装文件配置
下一篇: Android组件ListView
TimliangL
博客等级 码龄9年 17粉丝 24原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值