spark编程基础(一)--spark的设计与运行原理

本文介绍了Spark的基本概念和架构设计,包括RDD、DAG、Executor、Task和Job等,阐述了Spark运行的基本流程,强调了Executor的持久化内存特性。还详细讲解了RDD的操作、依赖关系和Stage划分,以及Spark的部署和应用方式,如计算向数据靠拢和资源管理。
摘要由CSDN通过智能技术生成

基本概念和架构设计

基本概念

RDD:弹性分布式数据集,是分布式内存的一个抽象概念,提供了一种高度受限的共享内存模型。
DAG:有向无环图,反映RDD之间的依赖关系。
Executor:是运行在工作节点的进程,负责运Task。
Task:运行在Executor上的工作单位,一个Task为一个线程。
Job:一个Job包含多个RDD及作用于相应的RDD上的各种操作。
Stage:是Job的基本调度单位,一个Job会分为多组Task,每组Task被称为Stage,或者也被称为TaskSet,代表了一组关联的,相互之间没有Shuffle依赖关系的任务组成的任务集。
Application:用户编写的Spark应用程序。

架构设计

在这里插入图片描述
ClusterManager:集群资源管理器
WorkerNode:运行作业任务的工作节点
Driverprogram:每个应用的任务控制节点
Executor:每个工作节点上负责具体任务的执行进程

优点:

  1. 利用多线程来执行具体的任务减少任务的具体开销。
  2. Executor中有一个BlockManager存储模块,会将内存和磁盘共荣作为存储设备,有效减少IO开销。计算的全过程在内存中执行。spark是基于内存计算。
  3. <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值