第9周
7天极速掌握Scala语言
Scala的函数式编程受到很多框架的青睐,例如Kafka、Spark、Flink等框架都是使用Scala作为底层源码开发语言,下面就带着大家7天极速掌握Scala语言。
课程安排:
1、快速了解Scala
2、Scala环境安装配置
3、Scala中的变量和数据类型
4、Scala中的表达式和循环
5、Scala集合体系之Set+List+Map
6、Scala中的Array和Tuple
7、Scala中函数的使用
8、Scala面向对象之类的使用
9、Scala面向对象之对象和伴生对象
10、Scala面向对象之apply和main的使用
11、Scala面向对象之接口的使用
12、Scala函数式编程之匿名函数和高阶函数的使用
13、Scala高级特性之模式匹配和隐式转换
第10周
Spark快速上手
Spark是目前企业中应用最广泛的计算引擎,盘它!实际案例详细分析Spark中的Transformation算子和Action算子使用,RDD持久化,共享变量使用,最后通过一个综合案例加深理解。
课程安排:
1、快速了解Spark
2、Spark 集群安装部署(Standalone+ON YARN)
3、Spark工作原理分析
4、什么是RDD
5、Spark架构原理
6、Spark项目开发环境配置
7、WordCount代码开发(Java+Scala)
8、Spark任务的三种提交方式
9、Spark开启historyServer服务
10、创建RDD的三种方式
11、Transformation和Action介绍
12、Transformation操作开发实战
13、Action操作开发实战
14、RDD持久化原理
15、RDD持久化开发实战
16、共享变量之Broadcast Variable的使用
17、共享变量之Accumulator的使用
18、案例实战:TopN主播统计
19、面试题
第11周
Spark性能优化的道与术
通过对Spark中的宽依赖、窄依赖、Stage、Shuffle机制进行详细分析,加深对Spark的理解,以及对Spark中的checkpoint机制通过源码层面进行深度剖析。
课程安排:
1、宽依赖和窄依赖
2、Stage的理解
3、Spark任务的三种提交模式
4、Shuffle介绍
5、三种Shuffle机制分析
6、checkpoint概述
7、checkpoint和持久化的区别
8、checkpoint代码开发和执行分析
9、checkpoint源码分析之写操作和读操作
10、Spark程序性能优化分析
11、高性能序列化类库Kryo的使用
12、持久化或者checkpoint
13、JVM垃圾回收调忧
14、提高并行度
15、数据本地化
16、算子优化
17、SparkSql快速上手使用
18、实战:SparkSQL实现TopN主播统计
第12周
综合项目:电商数据仓库之用户行为数仓
整合各个业务线数据,为各个业务系统提供统一&规范的数据出口。通过对项目的由来,需求、技术进行分析和选型,实现用户行为数据数仓开发。
课程安排:
1、项目效果展示
2、项目的由来
3、什么是数据仓库
4、数据仓库基础知识
5、数据仓库分层
6、典型数仓系统架构分析
7、技术选型
8、整体架构设计
9、服务器资源规划
10、生成用户行为数据【客户端数据】
11、生成商品订单相关数据【服务端数据】
12、采集用户行为数据【客户端数据】
13、Sqoop安装部署
14、Sqoop之数据导入功能
15、Sqoop之数据导出功能
16、采集商品订单相关数据【服务端数据】
17、用户行为数据数仓开发之ods层开发
18、用户行为数据数仓开发之ods层脚本抽取
19、用户行为数据数仓开发之dwd层开发
20、用户行为数据数仓开发之dwd层脚本抽取
21、用户行为数据数仓需求分析
22、用户行为数据数仓需求开发
23、用户行为数据数仓表和任务脚本总结
第13周
综合项目:电商数据仓库之商品订单数仓
基于商品订单数据开发数仓,详细分析了拉链表的由来和具体实现。使用数据可视化工具Zepplin实现数据展现,使用Azkaban调度器实现任务依赖调度。
课程安排:
1、商品订单数据数仓开发之ods层和dwd层
2、商品订单数据数仓需求分析与开发
3、什么是拉链表
4、如何制作拉链表
5、【实战】基于订单表的拉链表实现
6、拉链表的性能问题分析
7、商品订单数据数仓表和任务脚本总结
8、数据可视化之Zepplin的安装部署和参数配置
9、数据可视化之Zepplin的使用
10、任务调度之Crontab调度器的使用
11、任务调度之Azkaban的安装部署
12、任务调度之Azkaban提交独立任务
13、任务调度之Azkaban提交依赖任务
14、任务调度之在数仓中使用Azkaban
15、项目优化