热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Spark核心组件

 0.说明    1.RDD轻量级,虚的(轻量级数据集合,没有实际数据)  2.依赖RDD的依赖是 子RDD上的每个分区和父RDD分区数量上的对应关系Dependency|----


 


0. 说明

 

 



 

 


1. RDD

  轻量级,虚的(轻量级数据集合,没有实际数据)

 



 


2. 依赖

  RDD 的依赖是 子 RDD 上的每个分区和父 RDD 分区数量上的对应关系
  Dependency
    |----ShuffleDependency (宽依赖)
    |----NarrowDependency (窄依赖:子 RDD 的每个分区依赖少量的父 RDD 分区)
      |-----One2OneDependency (一对一依赖)
      |-----RangeDependency(范围依赖)
      |-----PruneDependency(Prune 依赖)

 



 


3. Stage(阶段)

  并行的 task 集合,同一 Stage 的所有任务有着相同的 Shuffle 依赖。
  阶段的划分按照 Shuffle 标记来进行的。
  阶段类型有两种,ShuffleMapStage 和ResultStage。


  【ShuffleMapStage】
  该阶段任务的结果是下一个阶段任务的输入。需要跟踪每个分区所在的节点。
  任务执行期间的中间过程,保存task的输出数据供下一个 reduce 进行 fetch(抓取) 。
  该阶段可以单独提交。

  【 ResultStage】
  结果结果直接执行 RDD 的 action 操作。
  对一些分区应用计算函数(不一定需要在所有分区进行计算,比如说first())。

 



 


4. Task

  task 是 Spark 执行单位,有两种类型。


  【ShuffelMapTask】
  在 ShuffleMapStage 由多个 ShuffleMapTask 组成。

 

  【ResultTask】
  ResultStage 由多个 ResultTask 组成,结果任务直接 task 后,将结果回传给 driver。

 

  driver:

 



 

 


5.  job

  一个 action 就是一个 job

 



 

 


6. Application

  一个应用可以包含多个 job

 

 



 


推荐阅读
author-avatar
潘景洪Phant_255
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有