Spark 资源与性能调优:从基础到 Shuffle 优化
这门课直指 Spark 应用性能瓶颈的核心——资源管理不当和 Shuffle 阶段开销过大。当前技术场景下,业务对数据处理时效性要求苛刻,而 Spark 官方文档对底层机制(如守护进程资源控制、Task 上下文传播、BT 技术)描述零散。课程通过 BT 技术原理、广播变量与累加器设计、Shuffle 输出写入优化等模块,系统性弥补这一短板。适合已掌握 Spark RDD/DataFrame API、能编写基础 Spark 应用但遇到资源限制(如频繁 GC、任务执行缓慢)的学习者。准入门槛要求学习者熟悉 YARN 集群架构、了解 Spark 内存模型(堆内/堆外内存分配比例),若缺乏可先补齐相关资料。学习顺序建议从 BT 技术介绍开始,逐步深入广播变量 API 编程、原理分析,最后聚焦 Shuffle 优化手段。完成学习后,能独立诊断 Spark 进程的 OOM 根因(如广播变量内存爆仓、累加器误用),设计场景适配的自定义累加器,并实现 Tungsten Shuffle 等优化方案。配套练习需结合资料包中的优化案例,对比 Sort Shuffle 与 Tungsten Shuffle 在不同数据集下的内存占用和任务执行时长,重点测试自定义累加器在多节点聚合场景下的线程安全性与性能表现。
机器学习特征工程:贝叶斯算法实践
本部分以朴素贝叶斯模型为载体,解决高维数据特征工程中的典型难题。课程重点突破特征稀疏性处理(如 TF-IDF 权重设计)、类条件概率平滑(拉普拉斯平滑与 alpha 参数敏感性分析)、以及特征交叉验证策略。针对学习者普遍存在的“模型调优套路化”问题,课程强调从贝叶斯假设出发,分析现实数据(如新闻文本、用户行为日志)中的条件独立性失效场景,提出针对性特征工程方案。适合掌握 Scikit-learn 基础分类器但缺乏特征工程实战经验的学习者,需先熟悉 Pandas 数据处理链和 NumPy 库。建议按贝叶斯理论框架、特征提取方法(词袋模型、n-gram)、模型评估指标顺序学习,优先实践文本分类案例。掌握后,能独立完成电商商品推荐、垃圾邮件过滤任务的特征工程全流程,包括构建特征集、调优平滑系数、解释模型在稀疏特征下的表现。资料包中的代码示例需在真实数据集上运行验证,例如对比不同 alpha 值对模型召回率的影响,或通过绘制特征重要性热力图分析文本特征分布差异。练习时需关注少数类样本预测的代价矩阵,尝试集成学习增强模型鲁棒性。
课程目录
1 01.spark资源控制回顾-守护进程资源控制 (12:13) 2 02.在task中的传播方式 (23:27) 3 03.BT技术介绍 (05:59) 4 04.spark广播变量的api编程使用与性能评测 (31:19) 5 05.spark广播变量原理分析 (18:34) 6 06.spark累加器原理与功能测试 (11:16) 7 07.spark自定义累加器实现气温数据双聚合 (31:25) 8 08.spark shuffle几个方法介绍 (19:22) 9 09.spark shuffle产生输出的写入方式 (11:43) 10 10.spark shuffle 串行化模式优化手段 (16:46) 11 11.创建ShuffleWriter原理分析 (17:25) 12 12.spark shuffle的类设计 (04:43) 13 13.spark shuffle依赖关系图分析 (19:31) 14 14.注册ShuffleHandle详解 (04:52) 15 15.写过构成详解 (01:01:54) 16 16.UnsafeShuffleWriter原理分析 (01:35:49)





