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

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

被折叠的 条评论
为什么被折叠?



