《Spark Streaming实时流式大数据处理实战》 ——3.5 从RDD看集群调度

举报
华章计算机 发表于 2020/02/22 17:33:54 2020/02/22
【摘要】 本节书摘来自华章计算机《Spark Streaming实时流式大数据处理实战》 —— 书中第3章,第3.5节,作者是肖力涛 。

3.5  从RDD看集群调度

  在第2章中,通过图2.4从宏观角度列出了一个Spark程序从提交后在整个集群中的调度过程,并且也实际操作了一个Spark应用程序在集群中运行。而在前几节中介绍了Spark编程模型的细节,下面我们从RDD的角度对这个过程进行更详细的解析,使读者从内部原理上有一个更深刻的认识。

  (1)通过Maven或者SBT等,将我们的应用及其依赖的jar包完整地打包,利用spark-submit命令将jar包提交到Spark中

  (2)提交程序的这个Spark节点会作为Driver节点,并从Cluster Manager中获取资源。

  (3)程序会在Worker节点中获得Executor,用来执行我们的任务。

  (4)在Spark程序中每次RDD的Action变换会产生一个新的Job,每个Job包含多个Task。

  (5)RDD在进行Transformation时,会产生新的stage。

  (6)Task会被送往各个Executor运行。

  (7)最终的计算结果会回到Driver节点进行汇总并输出(如reduceByKey)。

  针对这个过程,我们可以从微观和宏观两个角度把控,将RDD的操作依赖关系,以及Task在集群间的分配情况综合起来看,如图3.7所示。

 image.png

  图3.7  从RDD看集群调度

  图3.7中涉及的Action、Stage及Executor等概念,在第2.2节中已详细介绍,这里不再赘述。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。