700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 看了这篇文章 妈妈再也不用担心我的学习了---spark原理

看了这篇文章 妈妈再也不用担心我的学习了---spark原理

时间:2022-05-18 11:59:29

相关推荐

看了这篇文章 妈妈再也不用担心我的学习了---spark原理

前言

大家好,我是DJ丶小哪吒,我又来跟你们分享知识了。对软件开发有着浓厚的兴趣。喜欢与人分享知识。做博客的目的就是为了能与 他 人知识共享。由于水平有限。博客中难免会有一些错误。如有 纰 漏之处,欢迎大家在留言区指正。小编也会及时改正。

上了我DJ丶小哪吒的车,那就坐稳了哦。小编会拿出秋名山老司机的车技,来带大家在知识的大道上兜风。准备好发车了没有~~~

码字不易,先赞再看,养成习惯~~~

文章目录

第一章 Spark原理初探7.1. 基本概念7.2. 基本流程7.3. 流程图解7.4. 总结

第一章 Spark原理初探

7.1. 基本概念

这里小编引用一下官网图片

【官网图片】/docs/latest/cluster-overview.html

●名词解释

1.Application:指的是用户编写的Spark应用程序/代码,包含了Driver功能代码和分布在集群中多个节点上运行的Executor代码。

2.Driver:Spark中的Driver即运行上述Application的Main()函数并且创建SparkContext,SparkContext负责和ClusterManager通信,进行资源的申请、任务的分配和监控等

3.Cluster Manager:指的是在集群上获取资源的外部服务,Standalone模式下由Master负责,Yarn模式下ResourceManager负责;

4.Executor:是运行在工作节点Worker上的进程,负责运行任务,并为应用程序存储数据,是执行分区计算任务的进程;

5.RDD:Resilient Distributed Dataset弹性分布式数据集,是分布式内存的一个抽象概念;

6.DAG:Directed Acyclic Graph有向无环图,反映RDD之间的依赖关系和执行流程;

7.Job:作业,按照DAG执行就是一个作业;Job==DAG

8.Stage:阶段,是作业的基本调度单位,同一个Stage中的Task可以并行执行,多个Task组成TaskSet任务集

9.Task:任务,运行在Executor上的工作单元,一个Task计算一个分区,包括pipline上的一系列操作

7.2. 基本流程

●Spark运行基本流程

1.当一个Spark应用被提交时,首先需要为这个Spark Application构建基本的运行环境,即由任务控制节点(Driver)创建一个SparkContext,

2.SparkContext向资源管理器注册并申请运行Executor资源;

3.资源管理器为Executor分配资源并启动Executor进程,Executor运行情况将随着心跳发送到资源管理器上;

4.SparkContext根据RDD的依赖关系构建成DAG图,并提交给DAGScheduler进行解析划分成Stage,并把该Stage中的Task组成Taskset发送给TaskScheduler。

5.TaskScheduler将Task发放给Executor运行,同时SparkContext将应用程序代码发放给Executor。

6.Executor将Task丢入到线程池中执行,把执行结果反馈给任务调度器,然后反馈给DAG调度器,运行完毕后写入数据并释放所有资源。

7.3. 流程图解

7.4. 总结

1.Spark应用被提交–>SparkContext向资源管理器注册并申请资源–>启动Executor

2.RDD–>构建DAG–>DAGScheduler划分Stage形成TaskSet–>TaskScheduler提交Task–>Worker上的Executor执行Task

好了,以上内容就到这里了。不知道小编本篇内容有没有帮助到你呢。欢迎路过的朋友关注小编哦。各位朋友关注点赞是小编坚持下去的动力。小编会继续为大家分享更多的知识哦~~~。

我是DJ丶小哪吒。是一名互联网行业的工具人,小编的座右铭:“我不生产代码,我只做代码的搬运工”…哈哈哈,我们下期见哦,Bye~

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。