2.spark基本概念-创新互联

2.spark基本概念

创新互联于2013年开始,先为湘西土家族等服务建站,湘西土家族等地企业,进行企业商务咨询服务。为湘西土家族企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

Application

用户编写的Spark应用程序。Application的main方法为应用程序的入口,用户通过Spark的API,定义了RDD和对RDD的操作。

Job

提供给Spark运行的作业,一个Application中以Action为划分边界往往会产生多个Job。Spark采用惰性机制,对RDD的创建和转换并不会立即执行,只有在遇到Action时才会生成一个Job,然后统一调度执行。

Stage

每个Job以Shuffle为边界划分出的不同阶段, 其名称为Stage。Stage有非最终的Stage(Shuffle Map Stage)和最终的Stage(Result Stage)两种。

在对Job中的所有操作划分Stage时,一般会按照倒序进行:即从Action开始,遇到窄依赖操作,则划分到同一个执行阶段;遇到宽依赖操作,则划分一个新的执行阶段,且新的阶段为之前阶段的parent,然后依次类推递归执行。child Stage需要等待所有的parent Stage执行完之后才可以执行,这时Stage之间根据依赖关系构成了一个大粒度的DAG。在一个Stage内,所有的操作以串行的Pipeline的方式,由一组Task完成计算。

Task

真正执行的工作单元,对一个Stage之内的RDD进行串行操作的计算任务。多个Task组成一个Stage。

Task分为ShuffleMapTask和ResultTask两种,位于最后一个Stage的Task为ResultTask,其他阶段的属于ShuffleMapTask。

2.spark基本概念

Cluster Manager

在集群上获取资源的外部服务。Cluster Manager可以为自带的Standalone、或第三方的Yarn和Mesos。

Cluster Manager一般采用Master-Slave结构。以Yarn为例,部署ResourceManager服务的节点为Master,负责集群中所有计算资源的统一管理和分配;部署NodeManager服务的节点为Slave,负责在当前节点创建一个或多个具备独立计算能力的JVM实例,在Spark中,这些节点也叫做Worker。

Executor

某个Application运行在worker节点上的一个进程,  该进程负责运行某些Task,并将结果返回给Driver,同时为需要缓存的RDD提供存储功能。

Driver

准备Spark应用程序的运行环境,负责执行用户Application中的main方法,提交Job,并将Job转化为Task,在各个Executor进程间协调Task的调度。

Spark有Client和Cluster两种部署模式。Application以Client模式部署时,Driver运行于Client节点;而以Cluster模式部署时,Driver运行于Worker节点,与Executor一样由Cluster Manager启动。

2.spark基本概念

DAGScheduler

根据Job构建DAG图,将Job拆分成多个Stage并提交给TaskScheduler。

TaskScheduler

将Stage拆分成多个Task并提交给worker运行,Executor运行什么Task就是在此处分配的。


忠于技术,热爱分享。欢迎关注公众号:java大数据编程,了解更多技术内容。

2.spark基本概念

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


标题名称:2.spark基本概念-创新互联
链接分享:http://azwzsj.com/article/hjjdo.html