大数据--spark生态2--spark架构和rdd总结

本文详细介绍了Spark的特点,包括速度、易用性、通用性和运行模式多样性。深入探讨了Spark Core,强调其基于RDD的抽象设计。接着阐述了Spark的架构设计,涵盖整体架构、Executor、Master和Worker的角色。还详细讲解了RDD的概念、数据运算、宽窄依赖、任务划分和持久化策略,如RDD的cache和checkpoint。最后提到了累加器和广播变量在Spark中的应用。
摘要由CSDN通过智能技术生成

目录

一:Spark特点

二:Spark Core

三:Spark基本概念

四.Spark架构设计

4.1 整体架构

4.2 Executor

4.3 master & worker

五:Spark基本运行流程

六:RDD概念

七:RDD支持的数据运算/算子

八:宽窄依赖以及阶段划分

九:rdd任务划分

十:rdd持久化

10.1 rdd cache

10.2 rddcheckPoint检查点

十一:累加器

十二:广播变量



一:Spark特点

  • 运行速度快:Spark使用先进的有向无环图(DAG)执行引擎,以支持循环数据流与内存计算。
  • 容易使用:Spark支持Scala, Java, Python, R语言进行编程。
  • 通用性:Spark提供强大的而完整的技术栈。
  • 运行模式多样:Spark可以运行于独立的集群模式中,或者运行于Hadoop中。

二:Spark Core

    Spark Core 包含Spark最基础最核心的功能,如内存计算,任务调度,部署模式,故障恢复,存储管理,主要面向批处理数据。Spark Core建立在同一的抽象RDD之上,使其可以以基本一致的方式来应对不同的大数据处理场景。Spark Core通常被简称为Spark.

三:Spark基本概念

  • RDD: 弹性分布式数据集,是分布式内存的一个抽象概念,提供了一种高度受限的共享内存模型。
  • DAG:有向无环图,反映RDD之间的依赖关系
  • Executor:是运行在工作节点(Worker Node)上的一个进程,负责运行任务,并为应用程序存储数据。
  • 应用Application:用户编写的spark应用程序。
  • 任务(Task):是运行在Executor上的工作单元。
  • 作业(Job):一个作业包含多个RDD及作用于相应RDD上的各种操作。
  • 阶段(Stage):是作业的基本调度单位,一个作业会分为多组任务,每组任务被称为阶段。

四.Spark架构设计

4.1 整体架构

    

理解:

  • 一个应用由一个Driver和若干个作业构成,一个作业由多个阶段构成,一个阶段由多个没有Shuffle关系的任务组成
  • 当执行一个应用时,Driver会像集群管理器申请资源,启动Executor,并向Executor发送应用程序代码和文件,然后在Executor上执行任务,运行结束后,执行结果会返回给Driver,或者写到HDFS或者其他数据库中。

4.2 Executor

        是集群中工作节点(worker)中的一个进jvm进程,负责在spark作业中运行具体任务(task),任务彼此之间相互独立。spark应用启动时,executor节点被同时启动,并且始终伴随着整个spark应用的生命周期而存在。executor有两个核心功能:

  • 负责运行组成spark应用程序的任务,并将结果返回给驱动器进程
  • 通过自身的快管理器(block
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值