【Hadoop|MapReduce篇】MapReduce概述

1. MapReduce定义

MapReduce是一个分布式运算程序的编程框架,是用户开发“基于Hadoop的数据分析应用”的核心框架。

MapReduce核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序,并发运行在一个Hadoop集群上。

2. MapReduce优缺点

2.1 优点

  • MapReduce易于编程

它简单的实现一些接口,就可以完成一个分布式程序,这个分布式程序可以分布到大量廉价的机器上运行,也就是说你写一个分布式程序,跟写一个简单的串行程序是一模一样的。

  • 良好扩展性

可以动态增加服务器,解决计算资源不够的问题。

  • 高容错性

任何一台机器挂掉,可以将任务转移到其他节点。

  • 适合海量数据计算

几千台服务器共同计算。

2.2 缺点

  • 不擅长实时计算。
  • 不擅长流式计算。
  • 不擅长DAG有向无环图计算。

3. MapReduce核心编程思想

4. MapReduce进程

一个完整的MapReduce程序在分布式运行时有三类实例进程。

  • MrAppMaster:负责整个程序的过程调度及状态协调。
  • MapTask:负责Map阶段的整个数据处理流程。
  • ReduceTask:负责Reduce阶段的整个数据处理流程。

4.1 Mapper阶段

  • 用户自定义的Mapper要继承自己的父类。
  • Mapper的输入数据是KV对的形式(KV的类型可以自定义)
  • Mapper中的业务逻辑写在map()方法中。
  • Mapper的输出数据是KV对的形式(KV的类型可自定义)
  • map()方法(MapTask进程)对每一个<K,V>调用一次。

Mapper阶段的输入数据是<偏移量,String的序列类型>

输出数据是<String的序列类型,Int的序列类型>

4.2 Reducer阶段

  • 用户自定义的Reducer要继承自己的父类。
  • Reducer的输入数据类型对应Mapper的输出数据类型,也是KV。
  • Reducer的业务逻辑写在reduce方法中
  • ReduceTask进程对每一组相同的<KV>组调用一次reduce方法。

Reducer阶段的输入数据是<String的序列类型,集合类型>

输出数据是<String的序列类型,Int的序列类型>

4.3 Driver阶段

相当于YARN集群的客户端,用于提交我们整个程序到YARN集群,提交的是封装了MapReduce程序相关运行参数的job对象。

  • 获取配置信息,获取job对象实例。
  • 指定本程序的jar包所在的本地路径。
  • 关联Mapper/Reducer业务类。
  • 指定Mapper输出的ky类型。
  • 指定最终输出的数据的kv类型。
  • 指定job的输入原始文件所在的目录。
  • 指定job的输出结果所在的目录。
  • 提交作业。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/874529.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

丹尼尔·T·琼斯:为什么精益管理是卓越的商业模式?

作者&#xff1a;丹尼尔T琼斯 原文&#xff1a;Why Lean Remains a Superior Business Model and Way of Thinking - Lean Enterprise Institute 精益商业模式提供了一种不同于传统思维的选择&#xff0c;帮助企业在满足客户需求方面超越竞争对手&#xff0c;从而获得竞争优势…

安卓玩机工具-----ADB方式的刷机玩机工具“秋之盒”’ 测试各项功能预览

秋之盒 安卓玩机工具-秋之盒是一款ADB刷机工具箱&#xff0c;基于谷歌ADB的一款绿色安装&#xff0c;具备了海量扩展模块,支持ADB刷机救砖、一键激活黑域、adb指令修复等功能&#xff0c;是一款开源、免费、易用的手机刷机工具&#xff01; 并且是一款开源、免费、易用的图形化…

【每日刷题】Day118

【每日刷题】Day118 &#x1f955;个人主页&#xff1a;开敲&#x1f349; &#x1f525;所属专栏&#xff1a;每日刷题&#x1f34d; &#x1f33c;文章目录&#x1f33c; 1. 123. 买卖股票的最佳时机 III - 力扣&#xff08;LeetCode&#xff09; 2. 188. 买卖股票的最佳时…

Ai+若依(集成easyexcel实现excel表格增强)

EasyExcel 介绍 官方地址:EasyExcel官方文档 - 基于Java的Excel处理工具 | Easy Excel 官网 Java解析、生成Excel比较有名的框架有Apache poi、jxl。但他们都存在一个严重的问题就是非常的耗内存,poi有一套SAX模式的API可以一定程度的解决一些内存溢出的问题,但POI还是有一…

运维问题0002:SAP多模块问题-SAP系统程序在执行时,跳出“加急快件”窗口,提示:快件文档“更新已终止”从作者***收到

1、问题描述 近期收到2起业务报障&#xff0c;均反馈在SAP执行程序时&#xff0c;弹出“加急快件”窗口&#xff0c;导致操作的业务实际没有更新完成。 1&#xff09;业务场景一&#xff1a;设备管理部门在操作事务代码&#xff1a;AS02进行资产信息变更时&#xff0c;保存正常…

当代打工人学会AI绘画之后,到底可以做什么?

Lofi Girl&#xff0c;一个油管拥有1,400万粉丝的虚拟博主&#xff0c;她的直播视频一般是柔和的背景音乐加上简单的循环动画&#xff0c;这样一个陪着你一起学习的虚拟女孩卡通频道&#xff0c;已经成为了全球无数网友的“精神伴侣”。 但你可能想象不到&#xff0c;就这样的一…

大模型算法岗,面试百问百答,7天3个offer拿到手!

导读 大模型时代很多企业都在开发自己的大模型&#xff0c;这直接刺激了大模型岗位的需求。本文为大家整理了大模型面试相关的知识点&#xff0c;希望对大家面试求职有所帮助。 今天分享大模型面试相关知识点&#xff0c;持续更新。 1. RAG技术体系的总体思路 数据预处理->…

Tube Qualify三维弯管测量系统用于弯管机修正弯管回弹参数

无论是汽车管路&#xff0c;还是航空管路&#xff0c;在采用弯管机弯曲成型时&#xff0c;金属材料受力变形&#xff0c;弯曲成品。当外力撤消后&#xff0c;管路会受到应力回弹&#xff0c;实测管路弯曲角度比所需弯曲的角度小。 弯曲不同的材料、不同的直径、不同的弯曲半径…

开源网安斩获CCIA中国网络安全创新创业大赛总决赛三等奖

近日&#xff0c;由中央网信办指导&#xff0c;中国网络安全产业联盟&#xff08;CCIA&#xff09;主办的2024年中国网络安全创新创业大赛总决赛及颁奖典礼在国家网络安全宣传周落下帷幕。开源网安“AI代码审核平台CodeSec V4.0” 凭借在AI方向的技术创新、技术突破及功能应用创…

嵌入式系统------ARM

目录 一.c语言回顾 1.特殊符号 &#xff08;1&#xff09;const &#xff08;2&#xff09;static &#xff08;3&#xff09;extern 2.内存的结构 &#xff08;1&#xff09;kernel&#xff1a;内核 &#xff08;2&#xff09;栈区 &#xff08;3&#xff09;堆区 &#xff08…

名城优企游学活动之走进万事利:巴黎奥运文创合作伙伴数字化之路

近日&#xff0c;由纷享销客主办的“数字中国 高效增长——名城优企游学系列活动之走进万事利”成功举办&#xff0c;此次活动众多业内精英齐聚万事利科创中心&#xff0c;领略万事利的数字化转型之道&#xff0c;共同探讨如何运用先进数字化手段&#xff0c;实现企业的持续增长…

Java 入门指南:Java 并发编程 —— 同步工具类 Semephore(信号量)

文章目录 同步工具类Semephore核心功能限制并发访问量公平与非公平策略灵活性与适应性 常用方法使用示例 同步工具类 JUC&#xff08;Java.util.concurrent&#xff09;是 Java 提供的用于并发编程的工具类库&#xff0c;其中包含了一些通信工具类&#xff0c;用于在多个线程之…

游戏开发| Unreal5.2-5.4接入chatGPT定制游戏NPC

引擎版本UE5.2 (也支持到5.4,有试用其它插件所以选择之前版本) 使用插件(免费) 1.VArest (插件官方介绍:Plugin that makes REST communications much easier.)可以让REST(Representational State Transfer)通信变得更加容易,涉及客户端与服务器之间通过 HTTP 协议…

万亿低空经济火爆,无人机飞手培训正当时

低空经济是一种新兴的经济形态&#xff0c;主要依托于低空空域&#xff08;通常指垂直高度1000米以下&#xff0c;根据不同地区特点和实际需要可延伸至3000米以内的空域&#xff09;进行各种有人驾驶和无人驾驶航空器的飞行活动。 一、低空经济的蓬勃发展 近年来&#xff0c;…

料品档案没有配置主供应商信息

这个问题经常会出现在普通用户的面前。没有合适的工程人员去打理料品档案。信息是缺漏的。用友给出来的提示&#xff0c;也让人摸不着头脑。只能是记下来备用吧。

基于SpringBoot+Vue的考研学习分享互助平台

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、SSM项目源码 系统展示 【2025最新】基于JavaSpringBootVueMySQL的考研学习…

uniapp(H5)设置反向代理,设置成功后页面报错

设置反向代理后&#xff0c;页面报错图&#xff1a; 反向代理代码&#xff1a;devServer下面就是配置对应的代理&#xff0c;一般这样就没问题了 "h5": {"router": {"mode": "hash"},"devServer": {"port": 517…

Mac 上终端使用 MySql 记录

文章目录 下载安装终端进入 MySql常用操作查看数据库选择一个数据库查看当前选择的数据库Navcat 打开提示报错参考文章 下载安装 先下载社区版的 MySql 安装的过程需要设置 root 的密码&#xff0c;这个是要进入数据库所设定的&#xff0c;所以要记住 终端进入 MySql 首先输…

物联网之流水LED灯、正常流水灯、反复流水灯、移动流水灯

MENU 硬件电路设计软件程序设计正常流水LED灯反复流水LED灯移动流水LED灯 硬件电路设计 材料名称数量直插式LED1kΩ电阻杜邦线(跳线)若干面包板1 每一个LED的正极与开发板一个GPIO引脚相连&#xff0c;并串联一个电阻&#xff0c;负极接GND。 当然也可以选择只使用一个电阻。 软…

unocss 一直热更新打印[vite] hot updated: /__uno.css

控制台持续打印了几千条这条信息&#xff0c;页面逐渐卡死 client.ts:450 [vite] hot updated: /__uno.css 找出的原因是&#xff1a;依赖出问题了&#xff0c;重新安装unocss&#xff0c; 执行命令 npm i unocss 后修复。 但奇怪的是&#xff0c;删除node_modules重新全部安装…