184-Spark性能调优实战
# Spark 性能调优实战
一站式加速 Spark 作业执行性能 吴磊 FreeWheel 机器学习团队负责人
你将获得
- 深入浅出的 Spark 核心原理
- 全面解析 Spark SQL 性能调优
- 应用开发、配置项设置实操指南
- 手把手带你实现一个分布式应用
# 课程介绍
目前,Spark 已然成为分布式数据处理技术的事实标准,也在逐渐成为各大头部互联网公司的标配。对于数据领域的任何一名工程师来说,Spark 开发都是一项必备技能;而想要进入大厂,就更得有丰富的 Spark 性能调优经验。
可现实情况是,我们想要快速上手开发应用很容易,把握应用的执行性能却总也找不到头绪,比如:
明明都是内存计算,为什么我用了 RDD/DataFrame Cache,性能反而更差了? 网上吹得神乎其神的调优手段,为啥到了我这就不好使呢? 并行度设置得也不低,为啥我的 CPU 利用率还是上不去? 节点内存几乎全都划给 Spark 用了,为啥我的应用还是 OOM?
# 课程设计
课程按照原理、性能、实战分为三大部分。
原理篇:主要讲解与性能调优息息相关的核心概念,包括RDD、DAG、调度系统、存储系统和内存管理。力求用最贴切的故事和类比、最少的篇幅,让你在最短的时间内掌握其核心原理,为后续的性能调优打下坚实的基础。
性能篇:虽然 Spark 的应用场景可以分为 5 大类,包括海量批处理、实时流计算、图计算、数据分析和机器学习。但它对 Spark SQL 的倾斜和倚重也是有目共睹,所以性能篇主要分两部分来讲。
一部分主要讲解性能调优的通用技巧,包括应用开发的基本原则、配置项的设置、Shuffle 的优化、资源利用率的提升。另一部分会专注于数据分析领域,借助 Spark 内置优化如 Tungsten、AQE 和典型场景如数据关联,总结 Spark SQL 中的调优方法和技巧。
实战篇:以 2011-2019 的《北京市汽油车摇号》数据为例,手把手教你打造一个分布式应用,带你从不同角度洞察汽油车摇号的趋势和走向,帮助你实践我们的方法论和调优技巧,不仅要学得快,也要学得好!
除此之外,课程更新期间,还会不定期地针对一些热点话题进行加餐。比如,和 Flink、Presto 相比,Spark 有哪些优势;再比如,Spark 的一些新特性,以及业界对于 Spark 的新探索。
资源下载 (opens new window)提取码:http://dt3.8tupian.net/2/29369a193b200.pg1