首页 > 编程语言 >hadoop 源码分析

hadoop 源码分析

时间:2023-04-20 16:31:48浏览次数:26  
标签:分析 map task -- reduce hadoop MapTask 源码 遍历


 

先贴一张hadoop的部分类图

hadoop 源码分析_源码

 

如图所示,组要的过程都在LocalJobRunable的内部类Job中,主要当然是map/reduce(MapTask和ReduceTask)。

 

1.TaskSplitMetaInfo 把job分解为几个task,并返回task头信息

 

2.MapTask中 

 

    计算map task数量

    运行map --  遍历执行task 将mapper循环给context

                      结束map之后,统一执行quickSort

 

3.进入reduce准备 -- 将map的输出转为reduce的输入copy file

                              对输入进行排序sort file(小文件优先在前)

 

4.运行reduce -- 循环遍历调用reduce,并在遍历valueIterator的时候,调用GroupComparator决定iterator的                                hasnext方法的返回,决定哪些key在一起,给同一个reduce

 

 

 

 

标签:分析,map,task,--,reduce,hadoop,MapTask,源码,遍历
From: https://blog.51cto.com/u_2465818/6209846

相关文章

  • hadoop pig 之 开发调试命令
     <!--[if!supportLists]-->1.1    <!--[endif]-->describe描述:输出关系的结构语法:describealais<!--[if!supportLists]-->1.2    <!--[endif]-->dump描述:输出关系数据语法:dumpalais<!--[if!supportLists]-->1.3    <!--[endif]-->explain描述:使用expl......
  • 《算法竞赛进阶指南》 第五章 237. 程序自动分析
    地址https://www.acwing.com/problem/content/239/在实现程序自动分析的过程中,常常需要判定一些约束条件是否能被同时满足。考虑一个约束满足问题的简化版本:假设x1,x2,x3,…代表程序中出现的变量,给定n个形如xi=xj或xi≠xj的变量相等/不等的约束条件,请判定是否可以分......
  • SATI 文献题录信息统计分析工具
    SATI支持以下数据分析任务:   多种数据清洗工具:文献去重、词干提取、应用停用词、智能清洗等。   提取高频字段,并输出频次排名列表。   基于高频字段生成时间序列图,可输出下载时间序列数据。   构建高频字段共现矩阵,并输出Excel/TSV格式矩阵。   自动基于共现......
  • 【调试】Valgrind内存泄漏内存越界|运行时间|调用|cache命中率|多线程竞态|堆栈分析..
    目录即看即用详细简介Valgrind工具详解安装使用检测内存泄漏其他内存问题memcheck工具的常用选型其他选项附录其他类似工具实例分析:03.使用未初始化的内存04.使用野指针05.动态内存越界访问06.分配空间后没有释放07.不匹配使用delete或者free08.两次......
  • 记一次 腾讯会议 的意外崩溃分析
    一:背景1.讲故事前段时间在用腾讯会议直播的时候,居然意外崩溃了,还好不是在训练营上课,不然又得重录了,崩完之后发现腾讯会议的bugreport组件会自动生成一个minidump,截图如下:作为一个.NET高级调试的技术博主,非.NET的程序也得要研究研究哈......
  • 视频直播源码,Android TextView设置跑马灯效果
    视频直播源码,AndroidTextView设置跑马灯效果1、先在xml中给Textview设置好对应的属性  <TextView    android:id="@+id/tv"    android:layout_width="200dp"    android:layout_height="wrap_content"    app:layout_constraintLeft_toLef......
  • 直播软件源码,自定义RecyclerView支持快速滚动
    直播软件源码,自定义RecyclerView支持快速滚动问题描述: RecyclerView自带快速滚动无法控制滚动条的长度唯一,也就是说随着item的增多,滚动条的长度会越变越小。 解决问题: 通过自定义RecyclerView来实现滚动条的长度不会因为item的增多而发生长度变化。 packagecom.emsm......
  • Git 的origin和master分析
    评:<<关键是中英文切换着打字太辛苦了转载请注明出处>>首先要明确一点,对git的操作是围绕3个大的步骤来展开的(其实几乎所有的SCM都是这样)1.从git取数据(gitclone)2.改动代码3.将改动传回git(gitpush)这3个步骤又涉及到两个repository,一个是remoterepository,再远程服务......
  • Fedora 8下的MySQL源码安装手记
    评:系统开发计划改变!弃PostgreSQL!拥抱MySQL!当然前提是依然支持BerkeleyDB作为存储引擎的MySQL版本,5.1.12版本的MySQL已经正式将BDB从数据库引擎列表中扫地出门,虽然MySQL宣称这和Oracle收购Sleepycat没有任何关系,但是Oracle发面称是公司内部BDB开发团队要求取消支持的,所以也不太清......
  • Halcon图像的 BLOB 分析处理几何变换 &刚性仿射变换
    平移move_region缩放zoom_region镜像mirror_region倒置transpose_region6.2仿射变换刚性仿射变换vector_angle_to_rigid对图像,区域进行仿射变换算子:vector_angle_to_rigid(:: Row1, Column1, Angle1, Row2, Column2, Angle2 : HomMat2D)示例:vector_angle_......