加入收藏 | 设为首页 | 会员中心 | 我要投稿 惠州站长网 (https://www.0752zz.com.cn/)- 办公协同、云通信、物联设备、操作系统、高性能计算!
当前位置: 首页 > 教程 > 正文

一篇文章看懂 Spark RDD

发布时间:2019-04-18 21:26:44 所属栏目:教程 来源:大数据进击之路
导读:副标题#e# 1 简介 Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。它产生于 UC Berkeley AMP Lab,继承了 MapReduce 的优点,但是不同于 MapReduce 的是,Spark 可以将结果保存在内存中,一直迭代计算下去,除非遇到 shuffle 。因此 Spark

Stage 的划分简单的说是以 shuffle 和 result 这两种类型来划分。在 Spark中有两类 task,一类是 shuffleMapTask,一类是 resultTask,第一类 task的输出是 shuffle 所需数据,第二类 task 的输出是 result,stage的划分也以此为依据,shuffle 之前的所有变换是一个 stage,shuffle之后的操作是另一个stage。

如果 job 中有多次 shuffle,那么每个 shuffle 之前都是一个 stage. 会根据 RDD 之间的依赖关系将 DAG图划分为不同的阶段,对于窄依赖,由于 partition 依赖关系的确定性,partition 的转换处理就可以在同一个线程里完成,窄依赖就被 spark 划分到同一个 stage 中,而对于宽依赖,只能等父 RDD shuffle 处理完成后,下一个 stage 才能开始接下来的计算。之所以称之为 ShuffleMapTask 是因为它需要将自己的计算结果通过 shuffle 到下一个 stage 中。

【编辑推荐】

  1. Apache Kafka与Spark Streaming的两种整合方法及其优缺点
  2. Adaptive Execution 让 Spark SQL 更智能更高效
  3. 用Spark 来做大规模图形挖掘:第一部分
  4. 大数据的技术生态?Hadoop、Hive、Spark之间是什么关系?
  5. 大数据计算框架Spark之任务调度
【责任编辑:未丽燕 TEL:(010)68476606】
点赞 0

(编辑:惠州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读