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

author author     2022-09-30     437

关键词:

全面深度剖析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: 合并标签





学途无忧网Spark课程汇总:

Spark从入门到上手实战
课程观看地址:http://www.xuetuwuyou.com/my/course/186

基于Python Spark的大数据分析
课程观看地址:http://www.xuetuwuyou.com/course/173

Spark全面精讲(基于Spark2版本+含Spark调优+超多案例)
课程观看地址:http://www.xuetuwuyou.com/course/149

Spark+Kafka实时流机器学习实战
课程观看地址:http://www.xuetuwuyou.com/course/147

深入浅出Spark机器学习实战(用户行为分析)
课程观看地址:http://www.xuetuwuyou.com/course/144


全面深度剖析Spark2--知识点,源码,调优,JVM,图计算,项目
课程观看地址:http://www.xuetuwuyou.com/course/220

DMP用户画像系统(SparkGraphX SparkCore SparkSQL)
课程观看地址:http://www.xuetuwuyou.com/course/221

spark全面精讲视频_spark2.0视频

Spark全面精讲(基于Spark2版本+含Spark调优+超多案例)课程观看地址:http://www.xuetuwuyou.com/course/149课程出自学途无忧网:http://www.xuetuwuyou.com/课程分五个阶段,共115课时!第一阶段Spark内核深度剖析第00节课-课程特色和学习方式第... 查看详情

:sql调优在面试中深度剖析

    上节讲了Sql调优实战,本章聊聊面试中Sql调优深度的剖析场景!    在讲之前我们先做一些准备工作,建立一些需要用到的表:Mysql高级调优篇表补充——建表SQL_风清扬逍遥子的博客-CSDN博客⭐️tbl_emp⭐️... 查看详情

分享两套csdn下载的spark企业级项目实战,源码深度剖析视频教程

分享两套csdn下载的Spark企业级项目实战,源码深度剖析视频教程快速掌握Spark2.0(新特性、含真实项目、纯Scala语言开发、CDH5.7)视频教程链接:https://pan.baidu.com/s/19TMJSi11W1AUCALtYc8Y密码:zz1s Spark核心解密源码剖析,调度流程源码... 查看详情

stl源码剖析之组件

本篇文章开始,进行STL源码剖析的一些知识点,后续系列笔记全是参照《STL源码剖析》进行学习记录的 STL在现在的大部分项目中,实用性已经没有Boost库好了,毕竟STL中仅仅提供了一些容器供编码者实用,Boost库相对而言全... 查看详情

mysql高级调优篇——第五章:sql调优在面试中深度剖析

    上节讲了Sql调优实战,本章聊聊面试中Sql调优深度的剖析场景!    在讲之前我们先做一些准备工作,建立一些需要用到的表:Mysql高级调优篇表补充——建表SQL_风清扬逍遥子的博客-CSDN博客⭐️tbl_emp⭐️... 查看详情

flutterdio源码分析--深度剖析

...码分析(二)--HttpClient、Http、Dio对比FlutterDio源码分析(三)--深度剖析FlutterDio源码分析(四)--封装视频系列FlutterDio源码分析(一)--Dio介绍视频教程FlutterDio源码分析(二)--HttpClient、Http、Dio对比视频教程FlutterDio源码 查看详情

mysql高级调优篇——第二章:explain执行计划深度剖析

1、MysqlQueryOptimizer    这个名称在前言部分我在Mysql的整体架构中介绍过,称为查询优化器;这个查询优化器在绝大多数的公司,是不会做任何修改和扩展的,因为业务不需要,大牛请不起等因素,也就除... 查看详情

spark2.1内部原理剖析与源码阅读程序设计与企业级应用案例(代码片段)

1、本文目标以及其它说明:    本文或者本次系列主要是弄清楚spark.2.2.0版本中,sparkcore包下rpc通信情况。从源代码上面看到,底层通信是用的netty,因为本系列以及本文是专项学习spark,故netty只会涉及到不会去讲... 查看详情

spark2.x机器学习视频教程

...SparkMLPipelineAPI创建和调试机器学习流程,内容更加系统、全面、与时俱进,适合所有欲借助Spark来实现常见机器学习应用的开发者。本课程主要讲解基于Spark2.x的机器学习库,MLlib实现了常用的机器学习,如:聚类、分类、回归等... 查看详情

:sql实战调优场景剖析(上)

...实战过程!!1、热身Case    回顾上节讲的Explain知识点,我们简单做个回顾,来个热身的Case:    看下面的Sql执行是如何的,请列出步骤!    很明显先看id,id依次递增ÿ 查看详情

dubbo3深度剖析-透过源码认识你

Dubbo3深度剖析-透过源码认识你第1章构建ApacheDubbo3脚手架,开启奇幻之旅本章中,将使用ApacheDubbo3和Springboot构建一套Consumer和Provider的脚手架,帮助大家了解目前互联网主流脚手架构建和使用方式,并进行多种构建... 查看详情

mysql高级调优篇——第三章:sql实战调优场景剖析(上)

...实战过程!!1、热身Case    回顾上节讲的Explain知识点,我们简单做个回顾,来个热身的Case:    看下面的Sql执行是如何的,请列出步骤!    很明显先看id,id依次递增ÿ 查看详情

android高级进阶(源码剖析篇)前言

...进阶学习指南,主要是Android初中级开发者进阶所需的知识点࿰ 查看详情

threadlocal源码深度剖析(代码片段)

ThreadLocal源码深度剖析ThreadLocal的作用ThreadLocal的作用是提供线程内的局部变量,说白了,就是在各线程内部创建一个变量的副本,相比于使用各种锁机制访问变量,ThreadLocal的思想就是用空间换时间,使各线程都能访问属于自己... 查看详情

log4j2注入漏洞(cve-2021-44228)万字深度剖析—复现步骤(攻击方法)

...)—开篇与基础知识本文将和大家一起对Log4j2的漏洞进行全面深入的剖析。我们将从如下基本方面进行讲解。1、Log4j2漏洞的基本原理2、Log4j2漏洞在Java高低版本中的不同攻击原理3、Log4j2漏洞在Java高低版本中的攻击步骤4、Log4j2漏... 查看详情

mybatis核心源码深度剖析工作机制和实现原理

目录1MyBatis源码分析导入1.1为什么要看MyBatis框架的源码1.2如何深入学习MyBatis源码1.3源码分析的5大原则2MyBatis架构体系深入剖析2.1MyBatis的整体架构体系2.2MyBatis的工作机制和实现原理2.2.1接口层2.2.1.1获取SqlSession流程分析2.2.1.2SqlSess... 查看详情

深度剖析concurrenthashmap源码(代码片段)

概述你可能会在一些技术类的书籍上看到下面这样一段关于HahsMap和Hashtable的表述:HashMap是非线程安全的,Hashtable是线程安全的。不知道大家有什么反应,我当时只是记住了,知道面试的时候能回答上来就行了…... 查看详情

从底层原理深度剖析volatile关键字

...,同时引入了Java内存模型、指令重排序以及内存屏障等知识点作为原理分析的知识支撑。阅读本文之前,推荐大家先阅读作者之前的一篇关于happens-before的文章,这样更有助于大家对volatile关键字底层原理的理解。面试官为什么... 查看详情