Spark分析之Job Scheduling Process

经过前面文章的SparkContextDAGSchedulerTaskScheduler分析,再从总体上了解Spark Job的调度流程

1、SparkContext将job的RDD DAG图提交给DAGScheduler;

2、DAGScheduler将job分解成Stage DAG,将每个Stage的Task封装成TaskSet提交给TaskScheduler;窄依赖以pipeline方式执行,效率高;

3、TaskScheduler将TaskSet中的一个个Task提交到集群中去运行;推测任务执行;遇到shuffle丢失的汇报给DAGScheduler,让DAGScheduler重新提交Stage;

4、存储和处理block是由blockmanager来处理的(后续文章描述);

Spark分析之Job Scheduling Process,布布扣,bubuko.com

时间: 2024-08-13 15:08:10

Spark分析之Job Scheduling Process的相关文章

Spark分析之DAGScheduler

DAGScheduler的主要功能1.接收用户提交的job;2.将job根据类型划分为不同的stage,并在每一个stage内产生一系列的task,并封装成TaskSet;3.向TaskScheduler提交TaskSet; 以如下示例描述Job提交过程: val sc = new SparkContext("local[2]", "WordCount", System.getenv("SPARK_HOME"), Seq(System.geten

Spark分析之Master

override def preStart() { logInfo("Starting Spark master at " + masterUrl) webUi.bind() //绑定WEBUI masterWebUiUrl = "http://" + masterPublicAddress + ":" + webUi.boundPort context.system.scheduler.schedule(0 millis, WORKER_TIM

Spark分析之Master、Worker以及Application三者之间如何建立连接

Master.preStart(){ webUi.bind() context.system.scheduler.schedule(0 millis, WORKER_TIMEOUT millis, self, CheckForWorkerTimeOut) //定时任务检测是否有DEAD WORKER需要移除 case CheckForWorkerTimeOut => { timeOutDeadWorkers() } /** Check for, and remove, any timed-out

Spark分析之Worker

override def preStart() { webUi = new WorkerWebUI(this, workDir, Some(webUiPort)) webUi.bind() //创建并绑定UI registerWithMaster() //注册到Master } def tryRegisterAllMasters() { for (masterUrl <- masterUrls) { logInfo("Connecting to master " + master

Spark分析之Standalone运行过程分析

一.集群启动过程--启动Master $SPARK_HOME/sbin/start-master.sh start-master.sh脚本关键内容: spark-daemon.sh start org.apache.spark.deploy.master.Master 1 --ip $SPARK_MASTER_IP --port $SPARK_MASTER_PORT --webui-port $SPARK_MASTER_WEBUI_PORT 日志信息:$SPARK_HOME/logs/ 14/0

Spark分析之Dependency

在Spark中,每一个RDD是对于数据集在某一状态下的表现形式,比如说:map.filter.group by等都算一次操作,这个状态有可能是从前一状态转换而来的: 因此换句话说一个RDD可能与之前的RDD(s)有依赖关系:RDD之间存在依赖关系: 根据依赖关系的不同,可以将RDD分成两种不同的类型:宽依赖和窄依赖. 窄依赖:一个父RDD的partition至多被子RDD的某个partition使用一次: 宽依赖:一个父RDD的partition会被子RDD的partition使用多次,需要sh

[大数据从入门到放弃系列教程]第一个spark分析程序

文章施工中,由于部分网站会在我还没有写完就抓取到这篇文章,导致你看到的内容不完整,请点击这里: 或者复制访问 http://www.cnblogs.com/blog5277/p/8580007.html 来查看更完整的内容 [大数据从入门到放弃系列教程]第一个spark分析程序 原文链接:http://www.cnblogs.com/blog5277/p/8580007.html 原文作者:博客园--曲高终和寡 *********************分割线******************

spark 笔记 14: spark中的delay scheduling实现

延迟调度算法的实现是在TaskSetManager类中的,它通过将task存放在四个不同级别的hash表里,当有可用的资源时,resourceOffer函数的参数之一(maxLocality)就是这些资源的最大(或者最优)locality级别,如果存在task满足资源的locality,那从最优级别的hash表.也就是task和excutor都有loclity级别,如果能找到匹配的task,那从匹配的task中找一个最优的task. =====================延迟调度算法====

Window7 开发 Spark 分析 Nginx 日志

通过上文 Window7 开发 Spark 应用 ,展示了如何开发一个Spark应用,但文中使用的测试数据都是自己手动录入的. 所以本文讲解一下如何搭建一个开发闭环,本里使用了Nginx日志采集分析为例,分析页面访问最多的10个,404页面的10. 如果把这些开发成果最终展示到一个web网页中,在这篇文章中就不描述了,本博其他文章给出的示例已经足够你把Spark的应用能力暴露到Web中. 版本信息 OS: Window7 JAVA:1.8.0_181 Hadoop:3.2.1 Spark: 3.