spark论文阅读笔记(三)

一、作业调度(Job scheduler

spark中,一个作业一般就是对一个RDDaction操作。当该操作发生时,调度器会根据记录,为这个程序构建一个若干阶段组成的DAG(有向无环图),如下:

spark论文阅读笔记(三)

每个阶段(stage)的划分标准是,尽可能多的包含连续的窄依赖(如上图的stage 2),各个阶段通过宽依赖对应的操作划分,如stage23之间的join操作。有了这个DAG,接下来调度器就用多个任务(可能在不同的worker上)来计算各个阶段的分区。

         对于容错机制可分开看:如果一个任务(如计算某个分区)执行失败,只要对应的stage的父类还存在,那么就在其他节点重新执行该任务。如果是整个阶段都失败了,那么就重新提交该阶段对应的任务。

 

二、解析器(spark-shell

需要注意的是,spark的解析器不止spark-shell,还有pyspark等,这里只是以spark-shell举例。

简单来说 shell 是逐行翻译命令,比如
var x=5
println(x)
那么对于第二行内容, shell 是先要创建一个 lines1 的类对象,这个类包含 x ,然后第二行的编译后结果为:
println(Lines1.getInstance().x)
总之, spark-shell 对应的,不是一般的 scala 解释器,而是经过加工的适用于 RDD 的特殊 scala 解释器。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值