Hadoop3:MapReduce源码解读之Map阶段的Job任务提交流程(1)

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.rhkb.cn/news/347742.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DevExpress WPF中文教程:Grid - 如何向项目添加GridControl并绑定到数据

DevExpress WPF拥有120个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。 无论是Office办公软件…

知识付费平台功能模块详解

知识付费平台作为一种新兴的在线教育模式,以其用户需求导向的设计理念和便捷高效的学习方式,受到了广泛欢迎。这类平台汇集了职业技能、生活兴趣和人文社科等多领域的专业知识,并通过视频播放、在线问答、作业批改等工具和服务,助…

零售商为什么分析用户数据?盘点六大零售业用户分析常用模型

在当今这个数据驱动的时代,零售行业正面临着前所未有的机遇与挑战。随着消费者行为的日益多样化和市场竞争的不断加剧,零售商们迫切需要有效的方法来洞察市场动态,优化运营策略,并最终实现业务的持续增长。用户数据分析&#xff0…

DOS 命令

Dos: Disk Operating System 磁盘操作系统, 简单说一下 windows 的目录结构。 ..\ 到上一级目录 常用的dos 命令: 查看当前目录是有什么内容 dir dir d:\abc2\test200切换到其他盘下:盘符号 cd : change directory 案例演示:切换…

GEO ISP图像调试-PFC(蓝紫边校正)

目录 1、简单介绍 2、调试策略 3、输出结果 1、简单介绍 GEO中中调整图像蓝紫边可分为两步,第一步:调整蓝紫边检测区域,第二步:设置去蓝紫边强度。 2、调试策略 图1 该图像蓝紫边较严重 主要原因是由于蓝紫边检测不准导致的&…

使用GPT-soVITS再4060下2小时训练声音模型以及处理断句带来的声音模糊问题

B站UP主视频 感谢UP主“白菜工厂1145号员工”的“熟肉”,我这篇笔记就不展示整一个训练和推理流程,重点写的4060该注意的一些事项。如何解决断句模糊的问题,在本篇笔记的最末尾。 相关连接: 原项目github UP主的说明文档 1、训…

【全开源】JAVA短剧国际版源码支持H5+Android+IOS

🌍探索国际版短剧源码:打造你的全球影视平台 🚀一、引言:短剧时代的崛起 在数字化快速发展的今天,短剧作为一种新兴的影视形式,凭借其紧凑的剧情和高效的观看体验,逐渐在全球范围内崭露头角。…

[ue5]建模场景学习笔记(5)——必修内容可交互的地形,交互沙(2)

1需求分析: 继续制作可交互沙子内容,前面我们已经让角色在指定区域留下痕迹,那么能否让区域移动起来,这样才能逐步满足角色走到哪里都能产生交互痕迹,满足更大的地图。 2.操作实现: 1.首先建立角色能产生…

5.4 安全策略和控制 方法实现探讨

安全策略概述: 定义 安全策略是一组规则和措施,旨在保护组织的信息和资产免受潜在的威胁和攻击。它的制定和实施需要考虑组织的特定需求和风险,并采取适当的措施来减少潜在的安全漏洞。安全策略的定义包括以下几个方面: 1. 目标和范围&…

源代码加密的十个关键点

源代码加密是一种安全措施,其目的是为了保护软件的源代码不被未授权的个人或实体访问或泄露。源代码是软件应用程序的基础,它包含了程序的逻辑结构、核心算法以及设计理念。由于源代码承载了软件的核心知识和创新,因此它具有极高的商业价值和…

【工程实践】gradio调用模型与展示

前言 模型在云端部署好之后,衍生出Flask、Fastapi的接口,可以借助gradio调用接口展示在前端。 1.gradio代码 import gradio as gr import requests import json #调用部署的云服务接口 def greet(question):prefix_url http://0.0.0.0/get_classificat…

matlab BP神经网络

clear clc % 准备数据 inputs rand(10, 100); % 100组输入,每组10个特征 outputs rand(1, 100); % 100组输出,每组1个输出值 % 将数据分成训练集和测试集 trainRatio 0.8; valRatio 0.1; testRatio 0.1; [trainInd, valInd, testInd] divid…

如何下载iSlide软件及详细安装步骤

iSlide插件是一款能够支持PPT和WPS的ppt插件,旨在让每一个人都能够轻松制作出精美的ppt,能够在职场收到更多的关注,而该软件的口号正是「让 PPT 设计简单起来」,该插件是由原来NT插件升级改良过来的,在功能上面进行了全…

react快速开始(四)-之Vite 还是 (Create React App) CRA? 用Vite创建项目

文章目录 react快速开始(四)-之Vite 还是 (Create React App) CRA? 用Vite创建项目背景Vite 和 (Create React App) CRAVite?Vite 是否支持 TypeScript? 用Vite创建react项目参考 react快速开始(四)-之Vite 还是 (Create React App) CRA? 用Vite创建项…

C# WinForm —— 33 ContextMenuStrip介绍

1. 简介 右键某个控件/窗体时,弹出来的菜单,比如VS中右键窗体,弹出来的这个菜单: 和MenuStrip类似,ContextMenuStrip主菜单下面可以有子菜单,子菜单下面可以有下一级子菜单 2. 属性 和MenuStrip一样 …

Java的一些补充性介绍

目录 什么是JDK,JRE 快速入门 学习路线: 如何快速掌握技术或知识点: IDEA 常用快捷键 IDEA创建项目、模块、包、类 模板/自定义模板 包 包的命名:​编辑 常用的包 如引入包 断点调试(debug)​编辑 多线程:…

i.MX8MP平台开发分享(RDC软件配置篇)

Uboot中已经将RDC的配置写入到了OCRAM中,NXP在ATF中预设了SIP服务,SIP服务下有厂商自定义的smc命令ID。例如下面的DDR、GPC、SRC和HAB的smc回调函数。 在SRC中断处理函数中,对于SRC_M4_START指令,先读取OCRAM中的配置,…

Hadoop3:MapReduce源码解读之Map阶段的数据输入过程整体概览(0)

一、MapReduce中数据流向 二、MapTask并行度 1、原理概览 数据块:Block是HDFS物理上把数据分成一块一块。数据块是HDFS存储数据单位。 数据切片:数据切片只是在逻辑上对输入进行分片,并不会在磁盘上将其切分成片进行存储。数据切片是MapRed…

【Linux】运维-Kubernetes(k8s)应用介绍及使用-了解

一、介绍 Kubernetes,也被称为K8s或Kube,是谷歌推出的业界最受欢迎的容器编排器。 K8s是一个架构良好的分布式系统的例子。它将集群中的所有机器都视为单个资源池的一部分。 K8s与其他成熟的分布式系统一样,有两层:头节点和工作节…

Vue3中子组件挂载问题,父组件修改子组件值的问题

1,首先在父组件导入子组件 挂载 2,传递值给子组件 3,子组件