暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

【笔试 / 面试】Spark的工作流程?

380



【问】:Spark的工作流程?

                   

【答】  Spark运行的基本流程如下图所示:

    Step 1  注册并申请资源。当一个Spark应用被提交时,首先要为这个应用构建起基本的应用环境,即由任务控制节点(Driver)创建一个SparkContext(即Spark类),然后由SparkContext负责和管理资源管理器(Cluster Manager)的通信以及进行资源的申请、任务的分配和监控;

    Step 2  分配资源。资源管理器为Executor分配资源,并启动Executor进程,而Executor的运行情况会随着心跳(即任务运行实时记录)发送到资源管理器上进行实时监控;

    Step 3  注册并申请TaskSparkContext将根据RDD的依赖关系构建DAG图,然后DAG图提交给DAG调度器进行解析,将DAG图分解成多个阶段(每个阶段都是一个任务集),并且计算出各个阶段之间的依赖关系,然后把一个个任务集提交给底层的任务调度器进行处理。这一步的整体的运行逻辑是ExecutorSparkContext申请任务 任务调度器将任务分发给Executor → 与此同时SparkContext将应用程序代码发给Executor

    Step 4  完成任务并注销。任务在Executor上运行,然后把执行的结果先反馈给任务调度器,再反馈给DAG调度器,在运行完毕后写入数据并释放资源。



留言板




文章转载自稀饭居然不在家,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论