精通Spark:Spark内核剖析、源码解读、性能优化和商业案例实战

这是世界上第一个Spark内核高端课程:

1, 该课程在对Spark的13个不同版本源码彻底研究基础之上提炼而成;

2, 课程涵盖Spark所有内核精髓的剖析;

3, 课程中有大量的核心源码解读;

4, 全景展示Spark商业案例下规划、部署、开发、管理技术;

5, 涵盖Spark核心优化技巧

该课程是Spark的高端课程,其前置课程是“18小时内掌握Spark:把云计算大数据速度提高100倍以上!”。

培训对象

1,  系统架构师、系统分析师、高级程序员、资深开发人员;

2, 牵涉到大数据处理的数据中心运行、规划、设计负责人;

3, 云计算大数据从业者和Hadoop使用者;

4, 政府机关,金融保险、移动和互联网等大数据来源单位的负责人;

5, 高校、科研院所涉及到大数据与分布式数据处理的项目负责人;

6, 数据仓库管理人员、建模人员,分析和开发人员、系统管理人员、数据库管理人员以及对数据仓库感兴趣的其他人员;

学员基础

了解面向对象编程;

了解Linux的基本使用;

王家林老师(联系邮箱[email protected] 电话:18610086859 QQ:1740415547 微信号:18610086859)

Spark亚太研究院院长和首席专家,Spark源码级专家,对Spark潜心研究(2012年1月起)2年多后,在完成了对Spark的13不同版本的源码的彻底研究的同时不断在实际环境中使用Spark的各种特性的基础之上,编写了世界上第一本系统性的Spark书籍并开设了世界上第一个系统性的Spark课程并开设了世界上第一个Spark高端课程(涵盖Spark内核剖析、源码解读、性能优化和商业案例剖析)。Spark源码研究狂热爱好者,醉心于Spark的新型大数据处理模式改造和应用。

Hadoop源码级专家,曾负责某知名公司的类Hadoop框架开发工作,专注于Hadoop一站式解决方案的提供,同时也是云计算分布式大数据处理的最早实践者之一,Hadoop的狂热爱好者,不断的在实践中用Hadoop解决不同领域的大数据的高效处理和存储,现在正负责Hadoop在搜索引擎中的研发等,著有《云计算分布式大数据Hadoop实战高手之路---从零开始》《云计算分布式大数据Hadoop实战高手之路---高手崛起》《云计算分布式大数据Hadoop。实战高手之路---高手之巅》等;

Android架构师、高级工程师、咨询顾问、培训专家;

通晓Android、HTML5、Hadoop,迷恋英语播音和健美;

致力于Android、HTML5、Hadoop的软、硬、云整合的一站式解决方案;

国内最早(2007年)从事于Android系统移植、软硬整合、框架修改、应用程序软件开发以及Android系统测试和应用软件测试的技术专家和技术创业人员之一。

HTML5技术领域的最早实践者(2009年)之一,成功为多个机构实现多款自定义HTML5浏览器,参与某知名的HTML5浏览器研发;

超过10IT畅销书作者

培训内容


第一天


第1堂课:Spark为什么如此之快?

1.1 基于内存的计算模式

1.2 DAG的机制与实现

1.3 Lineage的机制

第2堂课:Spark的核心组件源码剖析

2.1 SparkContext

2.2 RDD Graph

2.3 Scheduler

2.4 BlockTracker

2.5 ShuffleTracker

2.6 Worker

第3堂课:彻底剖析RDD

3.1 分区

3.2 依赖

3.3 函数

3.4 最佳位置

3.5 分区策略

3.6 Hadoop RDD

3.7 Filtered RDD

3.8 Joined RDD

3.9 Scala中集合操作

第4堂课:源码剖析RDD执行流程

4.1 Driver部分RDD源码剖析

4.2 Spark Client端的RDD源码剖析

4.3 Worker中的RDD源码剖析


时间


內  容


备注


第二天


第5堂课:Spark任务调度

5.1 源码剖析RDD Objects

5.2 源码剖析DAGScheduler

5.3 源码剖析TaskScheduler

5.4 DAG、TaskSet、Task

5.5 Worker的Executor

5.6 Worker的BlockManager

第6堂课:调度器的优化

6.1 调度器实现源码剖析

6.2 Narrow Dependency

6.4 Wide Dependency

6.5 重用已缓存过的数据

6.6 基于Partitioning的join优化

第7堂课:Spark性能优化

7.1 任务执行速度倾斜

7.2 Reducer数量的优化

7.3 Task GC和OOM

7.4 本地性缓慢

7.5序列化

7.6 其它性能优化最佳时间

第8堂课:Spark商业案例

8.1 架构

8.2 代码剖析

8.3 优化

时间: 2024-10-27 11:07:49

精通Spark:Spark内核剖析、源码解读、性能优化和商业案例实战的相关文章

RabbitMQ MQTT插件源码级性能优化

最近在搞物联网平台,海量级别的消息Push导致MQ处理速度下降,对MQ进行单队列性能压测,结果很不如意啊!下游设备是通过NB模块和ESP进行双链路数据采集,由于场景就是抄表,但是下游设备太多,老板也没给多少银子买云服务,所以只能自己研究一波儿了~ 抄表也就意味着单Topic,进行测试的时候单个Topic消费端TPS到1.7w/s,大量的消息处于unconfirmed未确认状态,达到了TPS上限,然后通过新增消费端仍然是无法解决,那么就将性能瓶颈的视角转向了MQ服务. 对于瞬间大量并发的数据平台来

15、Spark Streaming源码解读之No Receivers彻底思考

在前几期文章里讲了带Receiver的Spark Streaming 应用的相关源码解读,但是现在开发Spark Streaming的应用越来越多的采用No Receivers(Direct Approach)的方式,No Receiver的方式的优势: 1. 更强的控制自由度 2. 语义一致性 其实No Receivers的方式更符合我们读取数据,操作数据的思路的.因为Spark 本身是一个计算框架,他底层会有数据来源,如果没有Receivers,我们直接操作数据来源,这其实是一种更自然的方式

第15课:Spark Streaming源码解读之No Receivers彻底思考

本期内容: Direct Access Kafka 前面有几期我们讲了带Receiver的Spark Streaming 应用的相关源码解读.但是现在开发Spark Streaming的应用越来越多的采用No Receivers(Direct Approach)的方式,No Receiver的方式的优势: 1. 更强的控制自由度 2. 语义一致性 其实No Receivers的方式更符合我们读取数据,操作数据的思路的.因为Spark 本身是一个计算框架,他底层会有数据来源,如果没有Receive

【Spark】SparkContext源码解读

SparkContext的初始化 SparkContext是应用启动时创建的Spark上下文对象,是进行Spark应用开发的主要接口,是Spark上层应用与底层实现的中转站(SparkContext负责给executors发送task). SparkContext在初始化过程中,主要涉及一下内容: SparkEnv DAGScheduler TaskScheduler SchedulerBackend SparkUI 生成SparkConf SparkContext的构造函数中最重要的入参是Sp

Spark发行版笔记10:Spark Streaming源码解读之流数据不断接收和全生命周期彻底研究和思考

本节的主要内容: 一.数据接受架构和设计模式 二.接受数据的源码解读 Spark Streaming不断持续的接收数据,具有Receiver的Spark 应用程序的考虑. Receiver和Driver在不同进程,Receiver接收数据后要不断给Deriver汇报. 因为Driver负责调度,Receiver接收的数据如果不汇报给Deriver,Deriver调度时不会把接收的数据计算入调度系统中(如:数据ID,Block分片). 思考Spark Streaming接收数据: 不断有循环器接收

Spark学习之路 (十六)SparkCore的源码解读(二)spark-submit提交脚本

讨论QQ:1586558083 目录 一.概述 二.源码解读 2.2 find-spark-home 2.3 spark-class 2.4 SparkSubmit 正文 回到顶部 一.概述 上一篇主要是介绍了spark启动的一些脚本,这篇主要分析一下Spark源码中提交任务脚本的处理逻辑,从spark-submit一步步深入进去看看任务提交的整体流程,首先看一下整体的流程概要图: 回到顶部 二.源码解读 2.1 spark-submit # -z是检查后面变量是否为空(空则真) shell可以

Spark Streaming源码解读之Job详解

一:Spark Streaming Job生成深度思考 1. 做大数据例如Hadoop,Spark等,如果不是流处理的话,一般会有定时任务.例如10分钟触发一次,1个小时触发一次,这就是做流处理的感觉,一切不是流处理,或者与流处理无关的数据都将是没有价值的数据,以前做批处理的时候其实也是隐形的在做流处理. 2. JobGenerator构造的时候有一个核心的参数是jobScheduler, jobScheduler是整个作业的生成和提交给集群的核心,JobGenerator会基于DStream生

(版本定制)第6课:Spark Streaming源码解读之Job动态生成和深度思考

本期内容: 1.Spark Streaming Job生成深度思考 2.Spark Streaming Job生成源码解析 本节课主要是针对Job如何产生进行阐述 在Spark Streaming里,总体负责动态作业调度的具体类是JobScheduler: /** * This class schedules jobs to be run on Spark. It uses the JobGenerator to generate * the jobs and runs them using a

Spark Streaming源码解读之流数据不断接收全生命周期彻底研究和思考

本期内容 : 数据接收架构设计模式 数据接收源码彻底研究 一.Spark Streaming数据接收设计模式   Spark Streaming接收数据也相似MVC架构: 1. Mode相当于Receiver存储数据,C级别的,Receiver是个抽象因为他有好多的Receiver 2. ReceiverSupervisor 是控制器,因为Receiver启动是靠ReceiverSuperior启动的,及接收到的数据交给ReceiverSuperior存储数据的 3. Driver会获得源数据,