spark RDD相关概念和运行架构

核心概念

- RDD定义:弹性分布式数据集,是Spark中基础数据处理抽象,具弹性、不可变、可分区及并行计算特性。

弹性

存储的弹性:内存与磁盘的自动切换;

容错的弹性:数据丢失可以自动恢复;

计算的弹性:计算出错重试机制;

分片的弹性:可根据需要重新分片。

➢ 分布式:数据存储在大数据集群不同节点上

➢ 数据集:RDD 封装了计算逻辑,并不保存数据

➢ 数据抽象:RDD 是一个抽象类,需要子类具体实现

➢ 不可变:RDD 封装了计算逻辑,是不可以改变的,想要改变,只能产生新的 RDD,在新的 RDD 里面封装计算逻辑

➢ 可分区、并行计算

- 核心属性:涵盖分区列表、分区计算函数、RDD之间依赖关系、分区器(可选)、首选位置(可选) 。

执行与特性

- 执行原理:在Yarn环境下,经启动集群、申请资源、划分任务、发送任务步骤,RDD封装逻辑生成Task供Executor计算。

- 序列化:涉及闭包检查、序列化方法和属性,介绍Kryo序列化机制。

- 依赖关系:含血统关系、窄依赖、宽依赖,介绍RDD任务划分及相关概念。

- 持久化:通过Cache或Persist方法存储结果,涉及存储级别、检查点设置等。

- 分区器:支持Hash分区和Range分区,用于自定义分区 。

数据操作

- 文件读取与保存:从文件格式(文本、Sequence、对象文件等)和数据格式(本地文件系统、HDFS等)维度介绍数据读取与保存方式。

架构基础

- 运行架构:Spark 框架采用master - slave结构 ,Driver为master负责作业任务调度,Executor为slave负责实际任务执行。

核心组件

- Driver:执行Spark任务main方法,负责将用户程序转为作业、调度任务、跟踪Executor执行情况、通过UI展示运行情况。

- Executor:集群工作节点中的JVM进程,运行具体任务,通过块管理器为RDD提供内存存储。

- Master & Worker:独立部署环境中,Master负责资源调度分配与集群监控,Worker由Master分配资源处理计算数据。

- ApplicationMaster:Hadoop用户向YARN集群提交应用时,用于申请资源容器、运行任务、监控执行及处理异常。

核心概念

- Executor与Core:介绍Executor作为计算节点,以及相关启动参数如数量、内存、虚拟CPU核数配置 。

- 并行度:指集群并行执行任务数量,可依框架默认配置或动态修改 。

- 有向无环图(DAG):由Spark程序执行时数据流向抽象,用于表示程序拓扑结构,是第二代计算引擎支持特性,Spark为第三代计算引擎支持Job内部DAG和实时计算。

提交流程

- Yarn Client模式:用于监控调试,Driver在客户端执行,介绍启动及任务执行流程。

- Yarn Cluster模式:用于实际生产,Driver在Yarn集群资源中执行,介绍启动及任务执行流程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值