全面深度剖析Spark2--知识点,源码,调优,JVM,图计算,项目

全面深度剖析Spark2--知识点,源码,调优,JVM,图计算,项目

课程学习地址:http://www.xuetuwuyou.com/course/220

课程出自学途无忧网:http://www.xuetuwuyou.com

课程共14章,316节,课程从Spark相关的各个技术点进行全方位剖析,最后结合实际项目:用户交互式行为分析系统、DMP用户画像系统,对Spark做了综合性的应用讲解,可以说一套在手,打遍天下无敌手!

第1章:Scala

任务1:java和scala对比

任务2:为什么学习scala

任务3:Scala编译器安装

任务4:第一个scala程序编写

任务5:Scala工具安装

任务6:使用IDEA编程

任务7:idea打jar包

任务8:变量的声明

任务9:Scala数据类型

任务10:if表达式

任务11:代码块

任务12:循环-while

任务13:循环-for

任务14:Scala操作符

任务15:方法的定义

任务16:定义函数

任务17:装饰设计

任务18:Java去解释函数式编程

任务19:知识回顾

任务20:定长数组和边长数组

任务21:数组的转换和遍历

任务22:数组常用的算法

任务23:Map集合

任务24:元组操作

任务25:List集合操作

任务26:Scala实现单词计数

任务27:Set集合操作

任务28:lazy特性

任务29:Scala课程说明

任务30:类的定义

任务31:查看定的class文件

任务32:主构造函数和辅助构造函数

任务33:早上知识回顾

任务34:对象

任务35:apply方法

任务36:Trait(特质)

任务37:扩展应用程序

任务38:继承

任务39:抽象类

任务40:模式匹配

任务41:Scala字符串打印

任务42:样例类

任务43:Option(Some,None)

任务44:偏函数

任务45:闭包

任务46:curring

任务47:隐士参数

任务48:隐士转换

任务49:隐士转换时机2案例演示

任务50:隐士转换案例1

任务51:隐士转换案例2

任务52:上下界

任务53:上界

任务54:下界案例

任务55:视图边界

任务56:协变

任务57:逆变

任务58:知识总结

任务59:Socket作业

任务60:作业需求分析

任务61:作业代码实现

任务62:关于Actor知识说明

任务63:Actor基本概念解释

任务64:Actor案例演示

任务65:案例二需求分析

任务66:案例代码演示(上)

任务67:案例代码演示(下)

第2章:SparkCore

任务68:应该如何学习开源技术

任务69:什么是Spark

任务70:Spark的四大特性

任务71:4spark快速使用(上)

任务72:Spark快速使用(下)

任务73:什么是RDD

任务74:演示什么是RDD

任务75:Spark任务的运行流程

任务76:9hadoop集群搭建

任务77:Spark集群搭建

任务78:SparkHA集群搭建

任务79:Scala开发Spark程序演示

任务80:java7开发spark程序

任务81:Java8开发spark程序

任务82:IDEA如何打Maven包

任务83:提交任务到Spark集群

任务84:RDD的创建方式

任务85:关于Spark脚本的说明

任务86:Transformation和action原理

任务87:广播变量

任务88:累加变量

任务89:共享变量使用演示

任务90:持久化

任务91:checkpoint

任务92:关于持久化补充说明

任务93:standalone运行模式

任务94:Spark-on-yarn

任务95:Spark-on-yarn原理说明

任务96:HistoryServer服务配置

任务97:map-flatMap-filter

任务98:sortBykey-reduceBykey

任务99:join-union-cogroup

任务100:intersection-distinct-cartes

任务101:mapPartitions-repartition-coal

任务102:coalesce和repartition区别补充

任务103:aggregateByKey-mapPartitionsWi

任务104:关于Action算子的说明

任务105:关于collect算子的说明

任务106:Spark二次排序

任务107:窄依赖和宽依赖

任务108:窄依赖和宽依赖例子分析

任务109:名词解释

任务110:stage划分算法

任务111:Spark任务的调度

第3章:Spark调优

任务112:避免创建重复的RDD

任务113:尽可能复用同一个RDD

任务114:对多次使用的RDD进行持久化

任务115:尽量避免使用shuffle类算子

任务116:使用map-side预聚合的shuffle操作

任务117:使用高性能的算子

任务118:广播大变量

任务119:使用Kryo优化序列化性能

任务120:优化数据结构

任务121:数据本地化

任务122:数据倾斜的原理和如何定位数据倾斜

任务123:使用HiveETL预处理数据

任务124:过滤少数导致倾斜的key

任务125:提高shuffle操作的并行度

任务126:两阶段聚合(局部聚合+全局聚合)

任务127:将reducejoin转为mapjoin

任务128:采样倾斜key并分拆join操作

任务129:使用随机前缀和扩容RDD进行join

任务130:综合运用各种解决方案

任务131:各种shuffle版本

任务132:Shuffle调优

任务133:Spark资源调优

任务134:Spark一点五版本内存模型

任务135:Spark二的内存模型

任务136:Whole-stageCodeGeneration

第4章:JVM调优

任务137:JVM的架构

任务138:三大区域是如何配合工作的

任务139:堆结构

任务140:jdk八内存模型

任务141:堆内存溢出案例演示

任务142:MA工具简单介绍

任务143:GC日志格式说明

任务144:堆内存配置演示

任务145:栈参数配置

任务146:垃圾回收算法介绍

任务147:stop-the-world

任务148:垃圾回收算法

任务149:垃圾回收器简介

任务150:常见的回收器配置演示

任务151:CMS垃圾回收器

任务152:hadoopJVM调优演示

任务153:垃圾回收器简介

任务154:性能监控工具简介

任务155:大对象直接进入老年代

第5章:SparkCore源码剖析

任务156:如何去找源代码

任务157:如何关联源码

任务158:Master启动流程

任务159:Master和Worker的启动流程

任务160:Sparak-submit提交流程

任务161:SparkContext初始化

任务162:创建TaskScheduler

任务163:DAGScheduelr初始化

任务164:TaskSchedulerImp启动

任务165:Master资源调度算法

任务166:TaskSchedulerImlUML图

任务167:Executor注册

任务168:Executor的启动UML图

任务169:Spark任务提交

任务170:Task任务运行

任务171:Spark任务提交详细流程

任务172:Spark任务提交流程画图总结

任务173:BlockManager深入剖析

任务174:CacheManager深入剖析

第6章:SparkSQL

任务175:关于默认的分区数说明

任务176:SparkCore官方案例演示

任务177:Spark的前世今生

任务178:Spark的版本说明

任务179:什么是DataFrame

任务180:DataFrame初体验

任务181:RDD转DataFrame方式一

任务182:RDD转换为DataFrame方式二

任务183:RDDVSDataFrame

任务184:SparkSQL数据源之-load

任务185:SparkSQL数据源之-save

任务186:SparkSQL数据源之json和parquet

任务187:SparkSQL数据源之jdbc

任务188:Spark数据源之Hive

任务189:ThriftServer

任务190:SparkSQL案例演示

任务191:SparkSQL与Hive整合

任务192:SparkSQL之UDF

任务193:SparkSQL之UDAF

任务194:SparkSQL之窗口函数

任务195:GoupBy和agg

任务196:知识总结

第7章:kafka

任务197:为什么会有kafka出现

任务198:kafka的核心概念

任务199:kafka核心概念再次梳理

任务200:对各种语言的介绍

任务201:消息系统的好处

任务202:消息系统的分类和(pull,push)的区别

任务203:kafka集群的架构

任务204:kafka集群的搭建

任务205:集群测试演示

任务206:kafka数据的HA

任务207:kafka的设计

任务208:kafak代码测试

任务209:作业

任务210:kafka的offset

第8章:SparkStreaming

任务211:简谈SparkStreaming的未来

任务212:SparkStreaming的运行流程

任务213:DStream画图详解

任务214:流式计算的流程

任务215:SocketStreaming案例演示

任务216:HDFSDStream案例演示

任务217:UpdateStateBykey案例演示

任务218:transform之黑名单过滤演示

任务219:Window操作案例演示

任务220:transform之黑名单过滤演示补充

任务221:ForeachRDD案例演示

任务222:kafka-sparkStreaming整合演示

任务223:kafka多线程消费数据

任务224:kafka使用线程池的方式并行消费数据

第9章:streaming调优

任务225:SparkStreaming的容错性

任务226:SparkStreamingVSStorm

任务227:SparkStremiang和Kafka整合(手动控制偏移量

任务228:SparkStreaming调优之并行度

任务229:SparkStreaming调优之内存

任务230:SparkStreaming调优之序列化

任务231:SparkStreaming调优之JVM&GC

任务232:SparkStreaming调优之个别task运行慢

任务233:SparkStreaming调优之资源不稳定

任务234:SparkStreaming之数据量暴增

第10章:streaming源码

任务235:1SparkStreaming源码导读前言

任务236:SparkStreaming运行原理

任务237:SparkStreaming通信模型原理

任务238:StremaingContext的初始化

任务239:Receiver启动流程导读

任务240:Receiver启动流程UML总结

任务241:Block生成原理解析

任务242:Block生成和存储原理剖析

任务243:责任链模式

任务244:BlockRDD生成和Job任务提交

任务245:BlockRDD生成和Job任务提交总结

第11章:sparkgraphx

任务246:图计算引入

任务247:图计算案例演示

任务248:图的基本组成

任务249:图存储

任务250:找好友案例演示

第12章:Spark2VSSpark1

任务251:Spark新特性

任务252:RDD&DataFrame&DataSet

任务253:RDD&DataFrame&DataSet

任务254:SparkSession访问Hive补充说明

任务255:DataFrame和DataSetAPI合并

第13章:综合项目:用户交互式行为分析系统

任务256:项目流程介绍

任务257:项目整体概况

任务258:大数据项目的数据来源

任务259:项目背景

任务260:常见概念

任务261:项目需求

任务262:项目整理流程

任务263:从表的设计引发的思考

任务264:获取任务参数

任务265:需求一数据信息

任务266:需求一根据条件筛选会话

任务267:需求一举例说明

任务268:需求一点击下单支付品类TopN(上)

任务269:需求一点击下单支付品类TopN(下)

任务270:需求二需求分析

任务271:需求二数据信息

任务272:需求二获取用户行为数据

任务273:需求二用户表和信息表join

任务274:需求二再次需求分析

任务275:需求二自定义UDF函数

任务276:需求二自定义UDAF函数

任务277:需求二各区域商品点击次数统计

任务278:需求二城市信息表和商品信息表join

任务279:需求二各区域热门商品统计

任务280:需求二把结果持久化导数据库

任务281:需求二总结

任务282:需求三需求分析

任务283:需求三数据信息

任务284:需求三思路梳理

任务285:需求三从kafka获取数据

任务286:需求三对数据进行黑名单过滤

任务287:需求三动态生成黑名单(上)

任务288:需求三动态生成黑名单(下)

任务289:需求三实时统计每天各省份各城市广告点击

任务290:需求三实时统计各省份流量点击

任务291:需求三实时统计广告点击趋势

任务292:需求三总结

第14章:DMP用户画像系统

任务293:项目背景

任务294:DSP流程

任务295:项目流程说明

任务296:Utils工具类开发

任务297:需求一功能开发

任务298:打包把代码提交到集群运行

任务299:需求二说明

任务300:报表需求说明

任务301:统计各省市数据量分布

任务302:定义字表统计函数

任务303:省份城市报表统计

任务304:App报表统计

任务305:用户画像需求

任务306:打标签

任务307:合并上下文标签

任务308:上下文标签测试运行

任务309:我们为什么需要图计算

任务310:图的基本概念

任务311:简单案例演示

任务312:合并上下文标签的思路

任务313:简单案例演示说明

任务314:继续梳理思路

任务315:生成用户关系表

任务316:合并标签

相关推荐