全面深度剖析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: 使用Hive ETL预处理数据
任务124: 过滤少数导致倾斜的key
任务125: 提高shuffle操作的并行度
任务126: 两阶段聚合(局部聚合+全局聚合)
任务127: 将reduce join转为map join
任务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: RDD VS DataFrame
任务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: SparkStreaming VS Storm
任务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: 合并标签

猜你喜欢

转载自lvswu135120308.iteye.com/blog/2409828