描述
课程介绍
目前,Spark已然成为分布式数据处理技术的事实标准,也在逐渐成为各大头部互联网公司的标配。
而2020年6月Spark 3.0版本的发布,更是带来了业界期待已久的性能优化,比如自适应查询执行(AQE)、动态分区剪裁(DPP)、扩展的Join hints等新特性。可以预见的是,这次升级会让Spark在未来5到10年继续雄霸大数据生态圈。
因此,对于数据领域的任何一名工程师来说,Spark开发都是一项必备技能;而想要进入大厂,就更得有丰富的Spark性能调优经验。
但对很多工程师来说,快速上手开发应用很容易,把握应用的执行性能却总也找不到头绪,比如:
- 明明都是内存计算,为什么我用了RDD/DataFrame Cache,性能反而更差了?
- 网上吹得神乎其神的调优手段,为啥到了我这就不好使呢?
- 并行度设置得也不低,为啥我的CPU利用率还是上不去?
- 节点内存几乎全都划给Spark用了,为啥我的应用还是OOM?
为此,我们特意邀请到了吴磊老师,他根据自己多年的数据处理经验,梳理出了一套关于性能调优的方法论,帮助你在有效加速 Spark 作业执行性能的同时,也建立起以性能为导向的开发习惯。
除此之外,他还会手把手教你打造一个分布式应用,带你从不同角度洞察汽油车摇号的趋势和走向,让你对性能调优技巧和思路的把控有一个“质的飞跃”。
课程模块设计
课程按照原理、性能、实战分为三大部分。
原理篇:主要讲解与性能调优息息相关的核心概念,包括RDD、DAG、调度系统、存储系统和内存管理。力求用最贴切的故事和类比、最少的篇幅,让你在最短的时间内掌握其核心原理,为后续的性能调优打下坚实的基础。
性能篇:虽然Spark的应用场景可以分为5大类,包括海量批处理、实时流计算、图计算、数据分析和机器学习。但它对Spark SQL的倾斜和倚重也是有目共睹,所以性能篇主要分两部分来讲。
一部分主要讲解性能调优的通用技巧,包括应用开发的基本原则、配置项的设置、Shuffle的优化、资源利用率的提升。另一部分会专注于数据分析领域,借助Spark内置优化如Tungsten、AQE和典型场景如数据关联,总结Spark SQL中的调优方法和技巧。
实战篇:以2011-2019的《北京市汽油车摇号》数据为例,手把手教你打造一个分布式应用,带你从不同角度洞察汽油车摇号的趋势和走向,帮助你实践我们的方法论和调优技巧,不仅要学得快,也要学得好!
除此之外,课程更新期间,还会不定期地针对一些热点话题进行加餐。比如,和Flink、Presto相比,Spark有哪些优势;再比如,Spark的一些新特性,以及业界对于Spark的新探索。这也能帮助你更好地面对变化,把握先机。
订阅须知
- 本专栏为订阅专栏,更新时间为2021年03月15日至2021年05月31日。