对于一个具有相当技术门槛与复杂度的平台,Spark从诞生到正式版本的成熟,经历的时间如此之短,让人惊诧。2009年,Spark诞生于伯克利大学AMPLab,于2010年正式开源,2013年成为了Apache基金项目,2014年成为Apache基金的较高级项目,整个过程不到五年时间。 2015年是Spark飞速发展的一年,Spark成为了现在大数据领域最火的开源软件,截止2015年,Spark的Contributor比2014年涨了3倍,达到730人;总代码行数也比2014年涨了2倍多,达到40万行,不但大量的互联网企业已经在使用或者正准备使用Spark,而且大量的电信、金融、证券和传统企业已经开始引入了Spark。 学习它并掌握它,是大数据风口下IT人的必备技能。本课程全程将通过以下内容的实战演练,带你玩转Spark! 本课程将会结合精典案例讲解Spark Job的整个生命周期,以及如何划分Stage,如何生成逻辑执行计划和物理执行计划。从Hash Shuffle到Sort Shuffle再到Tungsten Sort Shuffle详细分析Spark Shuffle机制的原理与演进,同时结合Yarn分析Spark的内存模型以及如何进行相关调优,其中两节课主要介绍Spark Streaming使用方式,分析通用流式处理系统的关键问题以及Spark Streaming对相应问题的解决方案,如窗口,乱序,Checkpoint等,并分析Spark Streaming与Storm和Kafka Stream各自的优缺点和适用场景。 最后将结合源码分析Spark SQL的原理,以及实现SQL引擎的一般方法,介绍如何进行Spark SQL性能优化。并结合大量真实案例,分析如何解决数据倾斜问题从而提高应用性能。 课程大纲: 第一课. Spark背景介绍与安装部署 1.1 Spark在大数据生态中的定位 1.2 Spark主要模块介绍 1.3 Spark部署模型介绍 1.4 Spark基于Ambari的安装 1.5 Spark Standalone下的HA 第二课. 基于Java的Spark编程入门 2.1 Spark应用中的术语介绍 2.2 交互式工具spark-shell 2.3 从Word Count看Spark编程 2.4 spark-submit的几种用法 第三课 Spark常用算子介绍 3.1 transform与action 3.2 广播变量与累加器 3.3 persist与checkpoint 3.4 数据本地性(Data locality) 第四课. 一个Spark应用的一生 4.1 Spark应用的Stage划分 4.2 窄依赖 vs. Shuffle依赖 4.3 Job逻辑执行计划 4.4 Job物理执行计划 第五课. Shuffle机制变迁 5.1 Hadoop Shuffle方案 5.2 Spark Hash Shuffle 5.3 Spark Sort Shuffle 5.4 Spark Tungsten Sort Shuffle 第六课. Spark SQL实战 6.1 Spark SQL前世今生 6.2 RDD vs. Dataframe vs. Dataset 6.3 使用外部数据源 6.4 连接metastore 6.5 自定义函数 6.6 spark-sql与Spark thrift server 第七课. Spark SQL原理 7.1 Spark SQL执行过程解析 7.2 Catalyst原理 7.3 SQL引擎原理 7.4 Spark SQL优化 第八课. 例讲数据倾斜解决方案 8.1 为何需要处理数据倾斜 8.2 调整并行度,分散同一Task的不同Key 8.3 自定义Partitioner,分散同一Task的不同Key 8.4 Map Join代替Reduce Join消除数据倾斜 8.5 为倾斜key增加随机前缀 8.6 大表增加随机前缀,小表扩容 第九课. Spark Streaming上 9.1 Spark Streaming示例 9.2 流式系统关键问题分析 9.3 Window操作 9.4 如何在流数据上做Join 9.5 Checkpoint机制 第十课. Spark Streaming下 10.1 如何处理数据乱序问题 10.2 Spark Streaming容错机制 10.3 Spark与Kafka实现Exactly once 10.4 Spark Streaming vs. Storm vs. Kafka Stream 10.5 Spark Streaming性能优化 10.6 Structured Streaming 第十一课. Spark MLlib 11.1 Pipeline 11.2 特征工程 11.3 模型选择 11.4 调优 第十二课. Spark优化 12.1 应用代码优化 12.2 Spark统一内存模型 12.3 基于YARN的参数优化 12.4 其它优化项 授课时间: 课程预计2024年10月04日开课,预计课程持续时间为14周 授课对象: Java开发转大数据开发 具有一定Hadoop或其它分布式应用基础,转Spark开发 希望在Spark开发和原理上有所提升的大数据开发人员 课程环境: Spark 2.1、Hadoop 2.7.3+ 收获预期: 1. 掌握Spark核心原理,包括但不限于Spark Job的执行过程,Shuffle机制 2. 了解如何对Spark Job进行性能优化,包括但不限于参数调优,数据倾斜优化,应用代码调优 3. 掌握Spark Streaming的原理及使用方式,并掌握如何结合Spark Streaming和Kafka实现正好一次处理语义 4. 了解流式处理系统的常见问题和解决方案 授课讲师: Jason,就职某大型互联网公司,多年Kafka和Hadoop及Spark研究、应用及调优经验。现从事大数据平台(集群规模两万加)优化工作。 微信公众号: 大数据架构 课程试听: 新颖的课程收费形式:“逆向收费”约等于免费学习,仅收取100元固定收费+300元暂存学费,学习圆满则全额奖励返还给学员! 本门课程本来打算完全免费,某位大神曾经说过“成功就是正确的方向再加上适度的压力”。考虑到讲师本身要付出巨大的劳动,为了防止一些朋友在学习途中半途而废,浪费了讲师的付出,为此我们计划模仿某些健身课程,使用“逆向收费”的方法。 在报名时每位报名者收取400元,其中100元为固定 收费,另外300是暂存学费,即如果学员能完成全部课程要求,包括完成全部的书面和互动作业,则300元全款退回。如果学员未能坚持到完全所有的学习计划任务,则会被扣款。期望这种方式可以转化为大家强烈的学习愿望和驱动力! 课程授课方式: 1、 学习方式:老师发布教学资料、教材,幻灯片和视频,学员通过网络下载学习。同时通过论坛互动中老师对学员进行指导及学员之间相互交流。 2、 学习作业:老师每周布置书面及互动作业,学员需按时按质完成作业。 3、 老师辅导:根据作业批改中发现的问题,针对性给予辅导,帮助大家掌握知识。 4、 结业测验:通过测验,完成学业。 您是否对此课程还有疑问,那么请 点击进入 FAQ,您的问题将基本得到解答 咨询QQ: 2222010006 (上班时间在线) 技术热点、 行业资讯,培训课程信息,尽在炼数成金官方微信,低成本传递高端知识!技术成就梦想!欢迎关注! 打开微信,使用扫一扫功能,即刻关注炼数成金官方微信账户,不容错过的精彩,期待您的体验!!! |