Hadoop3:MapReduce之MapTask的Job任务提交流程原理解读(1)

news2024/12/30 3:39:28

3、Job工作机制源码解读

用之前wordcount案例进行源码阅读,debug断点打在Job任务提交时
在这里插入图片描述


提交任务前,建立客户单连接
如下图,可以看出,只有两个客户端提供者,一个是YarnClient,一个是LocalClient。
显然,我这里是LocalClient模式
在这里插入图片描述
检查输出路径是否存在,存在则报错
在这里插入图片描述在这里插入图片描述
这里的两串提示就很熟悉了,如果输出路径存在,则报错。在这里插入图片描述
提交任务前会创建一个jobID,并创建相关文件夹,文件夹里存放临时的文件数据,job完成后会删除
在这里插入图片描述
切片和MapTask的关系:切片数决定MapTask线程数量
关键日志:number of splits
在这里插入图片描述


流程总结:

waitForCompletion()
submit();
// 1建立连接
	connect();	
		// 1)创建提交Job的代理
		new Cluster(getConfiguration());
			// (1)判断是本地运行环境还是yarn集群运行环境
			initialize(jobTrackAddr, conf); 
// 2 提交job
submitter.submitJobInternal(Job.this, cluster)
	// 1)创建给集群提交数据的Stag路径
	Path jobStagingArea = JobSubmissionFiles.getStagingDir(cluster, conf);
	// 2)获取jobid ,并创建Job路径
	JobID jobId = submitClient.getNewJobID();
	// 3)拷贝jar包到集群
copyAndConfigureFiles(job, submitJobDir);	
	rUploader.uploadFiles(job, jobSubmitDir);
	// 4)计算切片,生成切片规划文件
writeSplits(job, submitJobDir);
		maps = writeNewSplits(job, jobSubmitDir);
		input.getSplits(job);
	// 5)向Stag路径写XML配置文件
writeConf(conf, submitJobFile);
	conf.writeXml(out);
	// 6)提交Job,返回提交状态
status = submitClient.submitJob(jobId, submitJobDir.toString(), job.getCredentials());

流程图
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

xtsk—选择自由

最近和一些自由职业者交流时深刻感受到,系统思考不是为了创造更多的工作,而是为了创造更多的自由。我们工作的最终目的,实际上是为了达到不需要为了生存而工作的自由状态,赚钱只是手段,其本质是为了赢得更多的选择权。…

PySide6在VScode中提示:vscode module not found error: no module named ‘pyside6‘解决方案

最近在B站学习PySide6:PySide6百炼成真,带你系统性入门Qt https://www.bilibili.com/video/BV1c84y1N7iL?p3&vd_source256724e7f8bba144c62a17f9fa758a04 学习到第3节:003基础框架 003基础框架 from PySide6.QtWidgets import QApplicat…

如何将华为Ascend手机的短信和联系人安全传输到电脑

华为Ascend系列手机以其流畅的使用体验、光滑的触感以及轻巧的设计赢得了市场的青睐。不仅如此,Ascend系列手机还以亲民的价格和出色的用户体验,搭载了众多先进功能,如Ascend P6的4.7英寸大屏、海思四核处理器、2GB RAM和800万像素摄像头等。…

Linux之文件操作

目录 第1关:文件的创建 任务描述 相关知识 文件的创建 编程要求 答案: 第2关:文件打开与关闭 任务描述 相关知识 文件的打开 文件的关闭 编程要求 答案: 第3关:文件读写操作 任务描述 相关知识 文件的写操作 文件的读…

工商注册代理记账——打造专业服务的专业机构

在当今竞争激烈的商业环境中,注册和运营一家公司成为了每一个企业家的重要步骤,这并不是一件容易的事,涉及到的不仅是法律法规的学习,还有各种手续的办理、税务筹划等问题,这个时候,就需要专业的工商注册代…

云原生时代:从 Jenkins 到 Argo Workflows,构建高效 CI Pipeline

作者:蔡靖 Argo Workflows Argo Workflows [ 1] 是用于在 Kubernetes 上编排 Job 的开源的云原生工作流引擎。可以轻松自动化和管理 Kubernetes 上的复杂工作流程。适用于各种场景,包括定时任务、机器学习、ETL 和数据分析、模型训练、数据流 pipline、…

【因果推断python】17_工具变量3

目录 简化形式 手动工具变量 多个工具变量 工具变量的弱点 关键思想 简化形式 不幸的是,我们无法验证第二种IV条件。我们只能支持它。我们可以表达我们的信念,即出生四分之一不会影响潜在的收入。换句话说,人们出生的时间并不表示他们的…

8.22 PowerBI系列之DAX函数专题-盈亏平衡分析

需求 实现 一、用参数设置固定成本,单位变动成本,与毛利率 1 单位变动成本 generateseries(0,100,1) 2 固定成本 generateseries(0,50000,1) 3 毛利率 generateseries(0,0.4,0.01) 二、度量值 1 总变动成本 [单位变动成本 值]*[销量 值] 2 总成本…

Docker配置 之 本地仓库web访问

介绍 Docker是一种开源的应用容器引擎。 Docker可以让开发者打包应用以及依赖包到一个可移植的容器中,然后发布到任何安装了Docker引擎的服务器上(包括Linux机器、Windows机器),也可以实现虚拟化。容器是完全使用沙箱机制&#…

2024国内热门大语言模型在科研方面的应用

本博客总结了几款热门的国产大语言模型,帮助大家利用这些大语言模型更好的进行科研。 模型介绍 1.文心一言 链接:https://yiyan.baidu.com/ 开发方:百度 特点:专注于中文语言理解与生成,适合中文文本的语义理解任务。 百度推出…

go语言后端开发学习(一)——JWT的介绍以及基于JWT实现登录验证

什么是JWT JWT,全名为JSON Web Token,是当下主流的一种服务端通信认证方式,具有轻量,无状态的特点,它实现了让我们在用户与服务器之间传递安全可靠的Json文本信息,它的使用过程主要是这样的: 当用户注册的时候&#x…

使用from…import语句导入模块

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 在使用import语句导入模块时,每执行一条import语句都会创建一个新的命名空间(namespace),并且在该命名…

python--面向对象-文件读写-异常

一、继承 定义一个类时,需要使用另外一个类的方法或属性,就可以通过继承实现 object是Python的顶级类,创建类是会自动继承,就拥有object中的方法 定义格式 # 类的定义 # 旧式类定义 一般在定义单个类时使用 class 类名:name N…

SwiftUI中ContentUnavailableView的使用(iOS 17、tvOS 17推出的新组件)

iOS 17为SwiftUI带来了一个新的组件ContentUnavailableView,它允许我们向用户呈现一个空状态,而不需要创建自定义错误或者无内容视图。 ContentUnavailableView易于使用,可自定义,并且具有用于空搜索状态的预定义视图。 建议在无…

DVWA-Insecure CAPTCHA

本模块是绕过修改密码需要的验证码,验证码使用的是 Google 提供 reCAPTCHA 服务,这个服务我们使用不了,下面讲一下绕过就好了,不影响。 Low 看下后端代码,有两部分POST step1为正常过验证,step2为修改密码…

[数据集][图像分类]十二生肖分类数据集8492张12类别

数据集类型:图像分类用,不可用于目标检测无标注文件 数据集格式:仅仅包含jpg图片,每个类别文件夹下面存放着对应图片 图片数量(jpg文件个数):8492 分类类别数:12 类别名称:["dog","dragon&q…

全球与中国汽车张紧器市场:增长趋势、竞争格局与前景展望

汽车张紧器是保持皮带和链条适当张力以保持汽车同步运行的关键部件。其主要目的是确保正时正确,避免出现链条和链轮过度磨损、链条拍击引起的发动机噪音以及可能严重损害发动机的正时链条故障等问题,从而使链条保持在理想的张力。 汽车张紧器市场的成长是…

GNeRF论文理解

文章目录 主要解决什么问题?结构设计以及为什么有效果?个人想法。 主要解决什么问题? 本文主要想要解决的问题是 如何使用uncalibrated的照片来进行Nerf重建。虽然说现在已经有了一些方式可以对相机位姿进行估计和优化,但是他们限…

解锁下载EasyRecovery2024电脑版软件 3步破解下载秘籍!

在数字时代,数据已成为我们生活中不可或缺的一部分。无论是工作中的重要文件,还是珍贵的家庭照片和视频,数据都承载着我们的回忆和努力。然而,数据的丢失也是我们常常遇到的问题。硬盘损坏、误删除、病毒攻击等都可能导致数据丢失…

如何将本地项目上传到GitHub

在软件开发过程中,将本地项目上传到GitHub是一个非常重要的步骤。它不仅可以帮助你备份代码,还可以让你与团队成员共享和协作开发。本文将详细介绍如何将本地项目上传到GitHub。 前提条件 已安装Git。如果还没有安装,请参考Git官网进行下载…