大数据培训之Job提交流程源码和切片源码详解

1.Job提交流程源码详解,如图4-8所示

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());

大数据培训

图4-8  Job提交流程源码分析

2.FileInputFormat切片源码解析(input.getSplits(job))

大数据培训


上一篇:
下一篇:
关于尚硅谷
教育理念
名师团队
学员心声
资源下载
视频下载
资料下载
工具下载
加入我们
招聘岗位
岗位介绍
招贤纳师
联系我们
电话:010-56253825
邮箱:info@atguigu.com
地址:北京市昌平区宏福科技园综合楼6层(北京校区)

 深圳市宝安区西部硅谷大厦B座C区一层(深圳校区)

上海市松江区谷阳北路166号大江商厦6层(上海校区)