Spark01:Spark工作原理

Spark执行任务时,从HDFS读取数据形成RDD,通过高阶函数处理后写回HDFS。RDD是弹性分布式数据集,具有弹性、分布式和容错性。在Standalone模式下,有Master、Worker和Executor等组件。在YARN模式下,Spark任务可按Client或Cluster模式提交,区别在于Driver进程的位置。

1. Spark执行数据计算的整个流程

首先通过Spark客户端提交任务到Spark集群,然后Spark任务在执行的时候会读取数据源HDFS中的数据,将数据加载到内存中,转化为RDD,然后针对RDD调用一些高阶函数对数据进行处理,中间可以调用多个高阶函数,最终把计算出来的结果数据写到HDFS中。

2. 什么是RDD

RDD通常通过Hadoop上的文件,即HDFS文件进行创建,也可以通过程序中的集合来创建
RDD是Spark提供的核心抽象,全称为Resillient Distributed Dataset,即弹性分布式数据集

RDD的特点:

  • 弹性:RDD数据默认情况下存放在内存中,但是在内存资源不足时,Spark也会自动将RDD数据写入磁盘
  • 分布式:RDD在抽象上来说是一种元素数据的集合,它是被分区的,每个分区分布在集群中的不同节点上,从而让RDD中的数据可以被并行操作
  • 容错性:RDD最重要的特性就是提供了容错性,可以自动从节点失败中恢复过来如果某个节点上的RDD partition,因为节点故障,导致数据丢了,那么RDD会自动通过自己的数据来源重新计算该partition的数据。

 3. Standalone模式下的Spark架构

 在Standalone模式下,在Spark集群中主要包含以下进程。

  • Master: 在集群主节点中启动的进程,主要负责集群资源的管理和分配、集群的监控等。
  • Worker:在集群从节点中启动的进程,主要负责启动Executor执行具体的数据处理和计算任务。
  • Executor:此进程由Worker负责启动,主要用于执行数据处理 和计算任务。
  • Dri
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值