MapReduce概述
创始人
2024-04-03 20:01:51

MapReduce概述

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

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

MapReduce优缺点

优点

  1. MapReducer易于编程
  2. 良好的扩展性
  3. 高容错性
  4. 适合PB级以上海量数据的离线处理

缺点

  1. 不擅长实时计算

    不能在毫秒或秒级内返回结果

  2. 不擅长流式计算

    流式计算的输入数据是动态的。MapReducer的输入数据是静态的,不能动态变化。

  3. 不擅长DAG(有向无环图)计算

    多个应用程序存在依赖关系,后一个应用程序的输入为前一个的输出。在这种情况下,MapReduce并不是不能做,而是使用后,每个MapReduce作业的输出结果都会写入到磁盘,会造成大量的磁盘IO,导致性能非常的低下。

MapReduce核心思想

  1. MapReducer运算程序一般需要分为2个阶段:Map阶段和Reducer阶段
  2. Map阶段的并发MapTast,完全并行运行,互不相干
  3. Reduce阶段的并发ReduceTask,完全互不相干,但数据依赖上个阶段的所有MapTask并发实例的输出
  4. MapReducer编程模型只能包含一个Map阶段和一个Reduce阶段。如果业务逻辑非常复杂,那么只能多个MapReducer程序串行运行。

MapReduce进程

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

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

MapReduce编程规范

序列化

Hadoop常用数据序列化类型

在这里插入图片描述

什么是序列化

序列化 就是把内存中的对象,转换成字节序列(或其他数据传输协议)以便于存储到磁盘(持久化)和网络传输。

反序列化 就是将收到字节序列(或其他数据传输协议)或者是磁盘的持久化数据,转换成内存中的对象。

为什么要序列化

Hadoop是一个集群。在集群上运行MapReduce任务时,Map阶段和Reduce阶段不一定在同一台机器上,可能需要跨网络传输。因此需要序列化。

为什么不用Serializable

Java的序列化是一个重量级序列化框架(Serializable),一个对象被序列化后,会附带很多额外的信息(各种校验信息,Header,继承体系等),不便于在网络中高效传输。所以,Hadoop自己开发了一套序列化机制(Writable)。

Hadoop序列化特点:

  1. 紧凑:高效使用存储空间
  2. 快速:读写数据的额外开销小
  3. 互操作:支持多语言的交互

自定义bean对象

  1. 实现Writable接口
  2. 反序列化时,需要反射调用空参构造函数
  3. 重写方法 write 和 readFields 方法
  4. 注意反序列化的顺序和序列化的顺序完全一致
  5. 要想把结果显示在文件中,需要重写toString()

Mapper

  1. 继承Mapper类
  2. Mapper阶段输入数据时kv对的形式
  3. setup()方法 在一个MapTask任务开始时执行一次(整个任务只执行一次)
  4. 业务逻辑写在map()方法中
  5. map()方法(MapTask进程)对每一个调用一次
  6. clearup()方法 在一个MapTask任务结束时执行一次

Reducer

  1. 继承Reducer类
  2. Reducer的输入数据类型对应Mapper的输出类型
  3. Reducer的业务逻辑写在reduce()方法中
  4. ReduceTask进程对每一组相同k的调用一次reduce()方法

Driver

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

上一篇:PyOpenGL安装

下一篇:1:uniapp路由跳转

相关内容

热门资讯

埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...