spark基本概念

导读:本篇文章讲解 spark基本概念,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

spark应用涉及的一些基本概念:
1.mater:主要是控制、管理和监督整个spark集群

2.client:客户端,将用应用程序提交,记录着要业务运行逻辑和master通讯。

3.sparkContext:spark应用程序的入口,负责调度各个运算资源,协调各个work node上的Executor。主要是一些记录信息,记录谁运行的,运行的情况如何等。这也是为什么编程的时候必须要创建一个sparkContext的原因了。

4.Driver Program:每个应用的主要管理者,每个应用的老大,有人可能问不是有master么怎么还来一个?因为master是集群的老大,每个应用都归老大管,那老大疯了。因此driver负责具体事务运行并跟踪,运行Application的main()函数并创建sparkContext。

5.RDD:spark的核心数据结构,可以通过一系列算子进行操作,当Rdd遇到Action算子时,将之前的所有的算子形成一个有向无环图(DAG)。再在spark中转化成为job,提交到集群执行。一个app可以包含多个job

6.worker Node:集群的工作节点,可以运行Application代码的节点,接收mater的命令并且领取运行任务,同时汇报执行的进度和结果给master,节点上运行一个或者多个Executor进程。

7.exector:为application运行在workerNode上的一个进程,该进程负责运行Task,并且负责将数据存在内存或者磁盘上。每个application都会申请各自的Executor来处理任务。

spark应用(Application)执行过程中各个组件的概念:
1.Task(任务):RDD中的一个分区对应一个task,task是单个分区上最小的处理流程单元。

2.TaskSet(任务集):一组关联的,但相互之间没有Shuffle依赖关系的Task集合。

3.Stage(调度阶段):一个taskSet对应的调度阶段,每个job会根据RDD的宽依赖关系被切分很多Stage,每个stage都包含 一个TaskSet。

4.job(作业):由Action算子触发生成的由一个或者多个stage组成的计算作业。

5.application:用户编写的spark应用程序,由一个或者多个job组成,提交到spark之后,spark为application分派资源,将程序转换并执行。

6.DAGScheduler:根据job构建基于stage的DAG,并提交stage给TaskScheduler。

7.TaskScheduler:将Taskset提交给Worker Node集群运行并返回结果。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/9946.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!