第13课 spark内核架构解密学习笔记

第13课 spark内核架构解密学习笔记  2016.01.16


内容:
1.通过手动绘图的方式解密spark内核架构
2.通过案例验证spark内核架构
3.spark架构思考


第一阶段:彻底精通spark
第二阶段:价值千万超大型spark项目:包含所有spark知识点,编码,测试




driver是运行程序时具有main方法并创建了spark context的环境对象。如果要看一段程序是否是Driver的话,就要看其内部是否有运行Application的main函数/方法,并且一定会创建SparkContext。sparkContext是通往集群的唯一入口,也是开发者使用Spark集群各种功能的唯一通道,SparkContext是整个程序运行调度的核心。注意:是程序运行调度的核心而不是资源调度的核心。SparkContext里有高层调度器和底层调度器。高层调度器就是把整个作业划分成几个阶段,底层调度器是每个阶段里的任务该如何处理;
SchedulerBackend是管理整个集群中为当前程序分配的计算资源(Executor)。
这里讲的Standalone模式。原因:
1)这是Spark自带的。
2)效率比在Yarn和Mesos上高很多,也不需要其他的内容
3)只要Spark一个框架就可以了。


SparkContext里有高层调度器、低层调度器、SchedulerBackend
SparkContext在创建这些对象的同时会向Master注册当前程序,注册OK后会分配资源,根据Action触发的JOB,JOB里有RDD,从后往前推,如果有宽依赖的话,就划分成不同的Stage。stage划分完成后提交给底层调度器TaskScheduler。
一个Stage内部都是计算轮回完全一样,只是计算的数据不同而已。
TaskScheduler拿到任务的集合,就会根据数据的本地性把任务发到Executor执行。
Executor在出问题时会向Driver汇报。运行完后SparkContext会关闭。当然创建的对象也都会关闭。
Driver是应用程序运行调度的核心,因为它负责了整个作业的调度,并且会向Master申请资源来完成具体作业的工作过程。
应用程序就是用户编写的Spark程序及打包后的依赖,包含driver功能的代码和分布在集群中多个节点上的Executor的代码。
应用程序有两个层面,application=driver+executor
Driver是驱动Executor工作的,Executor是具体处理数据分片的,内部是线程池并发地处理数据分片。
应用程序是Driver和Executors的模式,每个应用程序都有Executor代码。
Executor部分代码其实就是main方法中new SparkConf,SparkConf进行配置然后创建SparkContext。这些就是driver部分的代码。
Driver部分的代码:SparkConf+SparkContext
val conf = new SparkConf()
conf.setAppName(“...”)
conf.setMaster(“local”)
cal sc = new SparkContext(conf)


SparkContext创建的过程中做了很多内容,包括DAG Scheduler、TaskScheduler、SchedulerBackend、SparkEnv
textFile flatMap map reduceByKey:这些代码都是Transformation级别的,都会产生RDD,既是RDD操作又会产生RDD,这些代码就是具体的业务实现,就是Executor中具体执行的代码。最后都会被Action触发执行,都是在Worker中的Executor中处理的。
一个应用程序默认只有一个DAG Scheduler。
sparkContext/Spark  


driver是以sparkContext为核心的,可以理解为driver就是sparkContext
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值