文件内容课堂总结

弹性分布式数据集(RDD):Spark核心数据处理模型,具备弹性、不可变、可分区、并行计算特性。

弹性:存储(内存/磁盘切换)、容错(自动恢复)、计算(重试机制)、分片(动态调整)。

分区列表:实现分布式并行计算。

分区函数:每个分区的计算逻辑。

依赖关系:父子RDD间的依赖(窄依赖、宽依赖)。

分区器(可选):决定数据分布(Hash分区、Range分区)。

首选位置(可选):优化计算节点选择。

执行原理

Spark在Yarn环境中通过资源申请、任务分解、调度执行完成计算,RDD封装逻辑并生成Task发送给Executor。

序列化

闭包检查:确保算子外数据可序列化传输到Executor。

Kryo框架:高效序列化,性能优于Java序列化。

依赖关系

血缘关系(Lineage):记录RDD转换历史,用于容错恢复。

窄依赖:父分区仅被子分区一对一依赖(如map)。

宽依赖:父分区被子分区多对多依赖(如reduceByKey),触发Shuffle。

阶段划分:基于宽依赖将任务划分为Stage,形成DAG。

持久化

缓存(Cache/Persist):数据暂存内存/磁盘,血缘保留,可重复使用。

检查点(Checkpoint):数据持久化到HDFS,切断血缘,高可靠。

文件读写

支持text、sequence、object等格式,可对接本地文件系统、HDFS、HBase等。

WordCount示例

  1. Maven项目配置:添加spark-core依赖,配置Scala编译插件。

  2. 代码实现:

读取文件→分词→映射为键值对→聚合统计→输出结果。

  1. 日志配置:通过log4j.properties减少日志输出干扰。

  2. 常见问题:Windows环境下需配置HADOOP_HOME解决Hadoop依赖问题。

RDD创建方式

  1. 内存集合:parallelize或makeRDD(底层相同)。

  2. 外部文件:textFile读取本地或HDFS文件。

  3. 其他RDD转换:通过算子生成新RDD。

  4. 直接创建:框架内部使用。

并行度与分区

并行度:由分区数决定,可通过参数指定(如makeRDD(list, numPartitions))。

分区规则:

内存数据:按元素数均匀分配。

文件数据:遵循Hadoop切片规则(如textFile的第二个参数)。

Spark运行架构

核心组件

Driver:执行main方法,负责作业调度、任务分发、状态跟踪。

Executor:Worker节点的JVM进程,运行Task并缓存RDD数据。

Master/Worker:独立部署时,Master管理资源,Worker执行任务。

ApplicationMaster:Yarn中协调资源申请与任务调度。

核心概念

并行度:同时执行的任务数,影响计算效率。

DAG(有向无环图):表示任务执行流程,按宽依赖划分Stage。

提交流程(Yarn模式)

Client模式:

Driver在本地运行,适合测试。

流程:Driver→申请资源→启动ApplicationMaster→启动Executor→执行任务。

Cluster模式:

Driver在集群中运行,适合生产。

流程:ApplicationMaster(即Driver)直接管理资源与任务。

执行流程

  1. Action触发Job,按宽依赖划分Stage。

  2. 生成TaskSet,分发到Executor并行执行。

相关推荐
Funny_AI_LAB4 分钟前
RAD基准重新定义多视角异常检测,传统2D方法为何战胜前沿3D与VLM?
人工智能·目标检测·3d·ai
星河队长4 分钟前
人工智能的自我认知
人工智能
无人装备硬件开发爱好者9 分钟前
AI 赋能航天造物:LEAP71 式火箭发动机计算工程软件开发全解析 1
人工智能·商业火箭发动机·增材加工·leap71
数智联AI团队11 分钟前
AI搜索引领行业变革:2023年GEO优化服务市场深度洞察与专业机构选择指南
人工智能
PaperRed ai写作降重助手12 分钟前
主流 AI 论文写作工具排名(2026 最新)
人工智能·aigc·ai写作·论文写作·论文降重·论文查重·辅助写作
翱翔的苍鹰13 分钟前
一个简单的法律问答机器人实现思路
人工智能·深度学习·语言模型·自然语言处理
njsgcs13 分钟前
我要fork openclaw了 ai自己写skill
人工智能
小W与影刀RPA17 分钟前
【影刀RPA】:智能过滤敏感词,高效输出表格
大数据·人工智能·python·低代码·自动化·rpa·影刀rpa
铁蛋AI编程实战20 分钟前
DeepSeek mHC 架构 + Agent 实战大模型开发指南
人工智能·架构·开源
源于花海29 分钟前
迁移学习简明手册——迁移学习相关研究学者
人工智能·机器学习·迁移学习·研究学者