热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

hadoop大数据之shuffle过程

学习hadoop已有一月之余,由于前段时间不太上心,导致脑海之中并没有留下什么映像,但是这两天的集中学习让我对于mapreduce过程中的shuffle有了一定的了解,所以现在赶紧

学习hadoop已有一月之余,由于前段时间不太上心,导致脑海之中并没有留下什么映像,但是这两天的集中学习让我对于mapreduce过程中的shuffle有了一定的了解,所以现在赶紧记下这难得的感触,不期望能给别人带来感悟什么的,但求给自己留下一个记录和以后的自己留下一个“当初”。

 好了,言归正传,众所周知,hadoop的核心框架就是hdfs跟mapreduce,而hdfs主要负责的就是类似于Windows文件系统类似的存储、读写的职责,其实用unix形容跟贴切,不过原理大题是相同的,然后reduce负责的就是计算这一部分(简单理解),其实说白了就是数据分类,统一等等,了解hadoop的人都知道,数据是经过map的运算过后传递给hadoop的,然后从这里开始,如果不插入combiner的话就可以说已经进入到shuffle过程了,主要过程可以分为如下几步,map——>环型缓冲区——>磁盘文件——>合并文件——>reduce,这就应该可以说是shuffle的过程了,中间涉及了几个要点,当环型缓冲区的数据接近80%时,就会溢出到磁盘文件,当然也有可能产生阻塞现象,也就是缓冲区输出的速度赶不上map输入的速度,这是就会等写到文件先完成然后再进行map输入,在磁盘文件接受到数据后,会对其进行分区,排序等内部实现,然后合并文件时再针对于相同分区,相同组进行排序,然后再输出给reduce。

终于敲完了,发现手机打字好累,这次写的不太严谨,也没有多少干货,不过或多或少还是挤出了一点东西,不求什么,只是想给自己今天的学习做个总结。

不过话说,我的伪分布式集群环境都没有搭好呢,哈哈,下次来个专题就叫《hadoop伪分布式集群搭建及所需软件的提供》,哈哈


推荐阅读
  • MapReduce工作流程最详细解释
    MapReduce是我们再进行离线大数据处理的时候经常要使用的计算模型,MapReduce的计算过程被封装的很好,我们只用使用Map和Reduce函数,所以对其整体的计算过程不是太 ... [详细]
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • Azkaban(三)Azkaban的使用
    界面介绍首页有四个菜单projects:最重要的部分,创建一个工程,所有flows将在工程中运行。scheduling:显示定时任务executing:显示当前运行的任务histo ... [详细]
  •     这里使用自己编译的hadoop-2.7.0版本部署在windows上,记得几年前,部署hadoop需要借助于cygwin,还需要开启ssh服务,最近发现,原来不需要借助cy ... [详细]
  • 什么是大数据lambda架构
    一、什么是Lambda架构Lambda架构由Storm的作者[NathanMarz]提出,根据维基百科的定义,Lambda架构的设计是为了在处理大规模数 ... [详细]
  • Hadoop源码解析1Hadoop工程包架构解析
    1 Hadoop中各工程包依赖简述   Google的核心竞争技术是它的计算平台。Google的大牛们用了下面5篇文章,介绍了它们的计算设施。   GoogleCluster:ht ... [详细]
  • mapreduce源码分析总结
    这篇文章总结的非常到位,故而转之一MapReduce概述MapReduce是一个用于大规模数据处理的分布式计算模型,它最初是由Google工程师设计并实现的ÿ ... [详细]
  • Hadoop 源码学习笔记(4)Hdfs 数据读写流程分析
    Hdfs的数据模型在对读写流程进行分析之前,我们需要先对Hdfs的数据模型有一个简单的认知。数据模型如上图所示,在NameNode中有一个唯一的FSDirectory类负责维护文件 ... [详细]
  • MR程序的几种提交运行模式本地模型运行1在windows的eclipse里面直接运行main方法,就会将job提交给本地执行器localjobrunner执行-- ... [详细]
  •        在搭建Hadoop环境之前,请先阅读如下博文,把搭建Hadoop环境之前的准备工作做好,博文如下:       1、CentOS6.7下安装JDK,地址:http:b ... [详细]
  • 我们在之前的文章中已经初步介绍了Cloudera。hadoop基础----hadoop实战(零)-----hadoop的平台版本选择从版本选择这篇文章中我们了解到除了hadoop官方版本外很多 ... [详细]
  • MapReduce 切片机制源码分析
     总体来说大概有以下2个大的步骤1.连接集群(yarnrunner或者是localjobrunner)2.submitter.submitJobInternal()在该方法中会创建 ... [详细]
  • Java开发实战讲解!字节跳动三场技术面+HR面
    二、回顾整理阿里面试题基本就这样了,还有一些零星的问题想不起来了,答案也整理出来了。自我介绍JVM如何加载一个类的过程,双亲委派模型中有 ... [详细]
  • 前言折腾了一段时间hadoop的部署管理,写下此系列博客记录一下。为了避免各位做部署这种重复性的劳动,我已经把部署的步骤写成脚本,各位只需要按着本文把脚本执行完,整个环境基本就部署 ... [详细]
  • Zookeeper为分布式环境提供灵活的协调基础架构。ZooKeeper框架支持许多当今最好的工业应用程序。我们将在本章中讨论ZooKeeper的一些最显着的应用。雅虎ZooKee ... [详细]
author-avatar
维他柠檬鱼1949
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有