主页 > 新闻资讯 > Spark计算原理:Spark框架作业运行流程简介

Spark计算原理:Spark框架作业运行流程简介

作者:张老师 浏览次数: 2020-02-17 17:40
作为大数据分布式计算框架的代表之一,Spark在近年来的发展势头无疑是很好的。Spark在大规模实时数据流的计算上,相比于MapReduce有了极大的提升,也因此常常被拿来与Hadoop做比,足见其实力。今天,我们主要来聊聊Spark计算原理,看看它实力何来。

Spark执行计算任务,总的指导思想还是分布式计算,这也是从Hadoop框架继承来的经验。因为在现阶段来看,想要实现大规模数据处理,成本合理的方式也就是分布式处理才能解决了。

Spark计算原理

Spark计算原理,也遵循分布式思想,但是在具体的计算任务执行上,从磁盘转移到了内存当中。众所周知,内存当中读取数据的速度,相对于磁盘上,速度要快得多。

在Spark框架当中,当我们使用spark-submit提交一个Spark作业之后,这个作业就会启动一个对应的Driver进程。提交作业的节点称为Master节点,Driver进程就是开始执行Spark程序的那个Main函数。

需要知道的是,Driver进程不一定在Master节点上。根据你使用的部署模式(deploy-mode)不同,Driver进程可能在本地启动,也可能在集群中某个工作节点上启动。

Driver进程本身会根据我们设置的参数,占有一定数量的内存和CPU core。而Driver进程要做的第一件事情,就是向集群管理器申请运行Spark作业需要使用的资源。YARN集群管理器会根据我们为Spark作业设置的资源参数,在各个工作节点Worker上,启动一定数量的Executor进程,每个Executor进程都占有一定数量的内存和CPU core。

在申请到了作业执行所需的资源之后,Driver进程就会开始调度和执行我们编写的作业代码了。Driver进程会将我们编写的Spark作业代码分拆为多个stage,每个stage执行一部分代码片段,并为每个stage创建一批task,然后将这些task分配到各个Executor进程中执行。

总的来说,Spark计算原理我们从Spark框架作业运行流程就能看得出来,根据数据计算任务请求的不同,通过资源调度等过程,将任务逐步拆解到各个节点上去完成,快速完成计算输出结果。成都加米谷大数据,大数据知识分享,线下大数据培训班课程,更多详情可联系客服了解!
热点排行
推荐文章
立即申请>>