0. 说明

  【Spark 核心组件示意图】

  


1. RDD

  resilient distributed dataset , 弹性数据集
  轻量级的数据集合,逻辑上的集合。等价于 list
  没有携带数据。


2. 依赖

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


3. Stage(阶段)

  并行的 task 集合,同一 Stage 的所有任务有着相同的 Shuffle 依赖。

  阶段,一组RDD构成的链条。
  阶段的划分按照 Shuffle 标记来进行的。
  阶段类型有两种,ShuffleMapStage 和ResultStage。

  【ShuffleMapStage】
  该阶段任务的结果是下一个阶段任务的输入。需要跟踪每个分区所在的节点。

  任务执行期间的中间过程,保存task的输出数据供下一个 reduce 进行 fetch(抓取) 。

  该阶段可以单独提交。

  【 ResultStage】
  结果结果直接执行 RDD 的 action 操作。

  对一些分区应用计算函数(不一定需要在所有分区进行计算,比如说first())。

  最后一个阶段,执行task后的结果回传给driver


4. Task

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

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

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

  driver:


5.  job

  一个 action 就是一个 job


6. Application

  一个应用可以包含多个 job


7. Spark Context

  Spark 上下文是 Spark 程序的主入口点,表示到 Spark 集群的连接。可以创建 RDD 、累加器和广播变量。
  每个 JVM 只能有一个 active 的上下文,如果要创建新的上下文,必须将原来的上下文 stop。

  sc.textFile("");
  sc.parallelize(1 to 10);
  sc.makeRDD(1 to 10) ;    //通过parallelize实现。

[Spark Core] Spark 核心组件的更多相关文章

  1. 大数据技术之_27_电商平台数据分析项目_02_预备知识 + Scala + Spark Core + Spark SQL + Spark Streaming + Java 对象池

    第0章 预备知识0.1 Scala0.1.1 Scala 操作符0.1.2 拉链操作0.2 Spark Core0.2.1 Spark RDD 持久化0.2.2 Spark 共享变量0.3 Spark ...

  2. [Spark Core] Spark Client Job 提交三级调度框架

    0. 说明  官方文档  Job Scheduling Spark 调度核心组件: DagScheduler TaskScheduler BackendScheduler 1. DagSchedule ...

  3. [Spark Core] Spark 使用第三方 Jar 包的方式

    0. 说明 Spark 下运行job,使用第三方 Jar 包的 3 种方式. 1. 方式一 将第三方 Jar 包分发到所有的 spark/jars 目录下 2. 方式二 将第三方 Jar 打散,和我们 ...

  4. 【待补充】[Spark Core] Spark 实现标签生成

    0. 说明 在 IDEA 中编写 Spark 代码实现将 JSON 数据转换成标签,分别用 Scala & Java 两种代码实现. 1. 准备 1.1 pom.xml  <depend ...

  5. [Spark Core] Spark 在 IDEA 下编程

    0. 说明 Spark 在 IDEA 下使用 Scala  & Spark 在 IDEA 下使用 Java 编写 WordCount 程序 1. 准备 在项目中新建模块,为模块添加 Maven ...

  6. [Spark Core] Spark 实现气温统计

    0. 说明 聚合气温数据,聚合出 MAX . MIN . AVG 1. Spark Shell 实现 1.1 MAX 分步实现 # 加载文档 val rdd1 = sc.textFile(" ...

  7. [Spark Core] Spark Shell 实现 Word Count

    0. 说明 在 Spark Shell 实现 Word Count RDD (Resilient Distributed dataset), 弹性分布式数据集. 示意图 1. 实现 1.1 分步实现 ...

  8. Spark 3.x Spark Core详解 & 性能优化

    Spark Core 1. 概述 Spark 是一种基于内存的快速.通用.可扩展的大数据分析计算引擎 1.1 Hadoop vs Spark 上面流程对应Hadoop的处理流程,下面对应着Spark的 ...

  9. Spark Streaming揭秘 Day35 Spark core思考

    Spark Streaming揭秘 Day35 Spark core思考 Spark上的子框架,都是后来加上去的.都是在Spark core上完成的,所有框架一切的实现最终还是由Spark core来 ...

随机推荐

  1. JavaScript 经典笔记

    JavaScript 是弱类型的语言,所以编译器不能检测出类型错误. JavaScript 依赖于全局变量来进行链接.所有编译单元的所有顶级变量被撮合到一个被称为全局对象(the global obj ...

  2. 第三章 使用Servlet处理HTTP响应

    回顾上一章的知识: Java Servlet是运行在Web服务器或应用服务器上的Java程序 Servlet规范对Servlet功能进行了严格定义 Servlet API与容器进行通讯 Servlet ...

  3. spring scope 作用域

    转自:http://www.cnblogs.com/qq78292959/p/3716827.html 今天研究了一下scope的作用域.默认是单例模式,即scope="singleton& ...

  4. HTTPS加密越来越流行,为何要加密?

    继谷歌之后,国内最大的搜索引擎百度在2015年5月实现了全站HTTPS加密.搜狗搜索.360搜索.bing搜索.淘宝.天猫.知乎等也都实现了全站HTTPS加密,互联网即将迎来全网HTTPS加密时代. ...

  5. 拓展KMP算法详解

    拓展KMP解决的问题是给两个串S和T,长度分别是n和m,求S的每一个后缀子串与T的最长公共前缀分别是多少,记作extend数组,也就是说extend[i]表示S[i,n-1](i从0开始)和T的最长公 ...

  6. 使用matlibplot.pyplot设置画图的坐标系

    今天看了林轩田老师的感知机算法,心血来潮想要做个可视化过程,以便观察更新的过程. 现将学习成果做个记录,下面是画出来的图,这是初始的状态,后面会通过算法找到一条经过原点的直线将两堆数据分割开来. 直线 ...

  7. 【虚拟机ubuntu设置ssh】ssh连不上问题解决方法

    首先,确保server端的ssh服务是开的(service shhd start) 然后在client端输入: ssh usrname@serverip (远程登录) scp filename usr ...

  8. Java 并发编程常识 —— by 梁飞

    参考 :梁飞 并发编程常识

  9. 我的Visual Studio必用工具

    自己备用 代码生成工具:Resharper 代码颜色:supercharger 高亮单词 Word highlight with margin Productivity Power Tools 详细介 ...

  10. [转]csv文件导入Mysql

    本文转自:https://blog.csdn.net/quiet_girl/article/details/71436108 本篇博客主要讲将csv文件导入Mysql的方法(使用命令行). Step1 ...