Spark大数据平台应用实战(第五期) Spark大数据平台应用实战(第五期)
所属分类:分布式系统
  课程名 : Spark大数据平台应用实战(第五期)【已结课】 总学费/人 : ¥400 (固定学费:¥100, 逆向学费:¥300) 开课时间 : 2018-07-24 09:00:00 
开课老师 : habren


课程简介:

对于一个具有相当技术门槛与复杂度的平台,Spark从诞生到正式版本的成熟,经历的时间如此之短,让人感到惊诧。2009年,Spark诞生于伯克利大学AMPLab,于2010年正式开源,2013年成为了Apache基金项目,2014年成为Apache基金的顶级项目,整个过程不到五年时间。


2015年是Spark飞速发展的一年,Spark成为了现在大数据领域最火的开源软件,截止2015年,SparkContributor2014年涨了3倍,达到730人;总代码行数也比2014年涨了2倍多,达到40万行,不但大量的互联网企业已经在使用或者正准备使用Spark,而且大量的电信、金融、证券和传统企业已经开始引入了Spark


学习它并掌握它,是大数据风口下IT人的必备技能。本课程全程将通过以下内容的实战演练,带你玩转Spark


本课程将会结合精典案例讲解Spark Job的整个生命周期,以及如何划分Stage,如何生成逻辑执行计划和物理执行计划。从Hash ShuffleSort Shuffle再到Tungsten Sort Shuffle详细分析Spark Shuffle机制的原理与演进,同时结合Yarn分析Spark的内存模型以及如何进行相关调优


其中两节课主要介绍Spark Streaming使用方式,分析通用流式处理系统的关键问题以及Spark Streaming对相应问题的解决方案,如窗口,乱序,Checkpoint等,并分析Spark StreamingStormKafka 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


第二课. 基于JavaSpark编程入门

            2.1 Spark应用中的术语介绍

            2.2 交互式工具spark-shell

            2.3 Word CountSpark编程

            2.4 spark-submit的几种用法


第三课 Spark常用算子介绍

            3.1 transformaction

            3.2 广播变量与累加器

            3.3 persistcheckpoint

            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-sqlSpark 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 SparkKafka实现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 其它优化项


收获预期:

通过本课程学习可以达到:

    1. 掌握Spark核心原理,包括但不限于Spark Job的执行过程,Shuffle机制

    2. 了解如何对Spark Job进行性能优化,包括但不限于参数调优,数据倾斜优化,代码调优

    3. 掌握Spark Streaming的原理及使用方式,并掌握如何结合Spark StreamingKafka实现正好一次处理语义

    4. 了解SQL引擎的原理,掌握Spark SQL的使用和优化方式

    5. 掌握使用Spark MLlib解决机器学习的一般流程



 

GMT+8, 2018-11-21 02:48 , Processed in 0.078699 second(s), 27 queries .