当前位置: 首页 > news >正文

上海 高端 网站建设哪里可以代写软文

上海 高端 网站建设,哪里可以代写软文,专门做企业名录的网站,app开发和网站建设区别第八章 Spark 内核调度 Spark的核心是根据RDD来实现的,Spark Scheduler则为Spark核心实现的重要一环,其作用就是任务调度。Spark的任务调度就是如何组织任务去处理RDD中每个分区的数据,根据RDD的依赖关系构建DAG,基于DAG划分Stag…

第八章 Spark 内核调度

Spark的核心是根据RDD来实现的,Spark Scheduler则为Spark核心实现的重要一环,其作用就是任务调度。Spark的任务调度就是如何组织任务去处理RDD中每个分区的数据,根据RDD的依赖关系构建DAG,基于DAG划分Stage,将每个Stage中的任务发到指定节点运行。基于Spark的任务调度原理,可以合理规划资源利用,做到尽可能用最少的资源高效地完成任务计算。

以词频统计WordCount程序为例,Job执行是DAG图:
在这里插入图片描述

8.1 RDD 依赖

RDD 的容错机制是通过将 RDD 间转移操作构建成有向无环图来实现的。从抽象的角度看,RDD 间存在着血统继承关系,其本质上是 RDD之间的依赖(Dependency)关系。

从图的角度看,RDD 为节点,在一次转换操作中,创建得到的新 RDD 称为子 RDD,同时会产生新的边,即依赖关系,子 RDD 依赖向上依赖的 RDD 便是父 RDD,可能会存在多个父 RDD。

可以将这种依赖关系进一步分为两类,分别是窄依赖(NarrowDependency)和 Shuffle 依赖(Shuffle Dependency 在部分文献中也被称为 Wide Dependency,即宽依赖)。

在这里插入图片描述
窄依赖(Narrow Dependency)
窄依赖中:即父 RDD 与子 RDD 间的分区是一对一的。换句话说父RDD中,一个分区内的数据是不能被分割的,只能由子RDD中的一个分区整个利用。

在这里插入图片描述
上图中 P代表 RDD中的每个分区(Partition),我们看到,RDD 中每个分区内的数据在上面的几种转移操作之后被一个分区所使用,即其依赖的父分区只有一个。比如图中的 map、union 和 join 操作,都是窄依赖的。注意,join 操作比较特殊,可能同时存在宽、窄依赖。

Shuffle 依赖(宽依赖 Wide Dependency)
Shuffle 有“洗牌、搅乱”的意思,这里所谓的 Shuffle 依赖也会打乱原 RDD 结构的操作。具体来说,父 RDD 中的分区可能会被多个子 RDD 分区使用。因为父 RDD 中一个分区内的数据会被分割并发送给子 RDD 的所有分区,因此 Shuffle 依赖也意味着父 RDD与子 RDD 之间存在着 Shuffle 过程。
在这里插入图片描述
上图中 P 代表 RDD 中的多个分区,我们会发现对于 Shuffle 类操作而言,结果 RDD 中的每个分区可能会依赖多个父 RDD 中的分区。需要说明的是,依赖关系是 RDD 到 RDD 之间的一种映射关系,是两个 RDD 之间的依赖,如果在一次操作中涉及多个父 RDD,也有可能同时包含窄依赖和 Shuffle 依赖。

如何区分宽窄依赖
区分RDD之间的依赖为宽依赖还是窄依赖,主要在于父RDD分区数据与子RDD分区数据关系:

  • 窄依赖:父RDD的一个分区只会被子RDD的一个分区依赖;
  • 宽依赖:父RDD的一个分区会被子RDD的多个分区依赖,涉及Shuffle;

为什么要设计宽窄依赖??
1)、对于窄依赖来说

  • Spark可以并行计算
  • 如果有一个分区数据丢失,只需要从父RDD的对应个分区重新计算即可,不需要重新计算整个任务,提高容错。
    2)、对应宽依赖来说
  • 划分Stage的依据,产生Shuffle

8.2 DAG和Stage

在图论中,如果一个有向图无法从任意顶点出发经过若干条边回到该点,则这个图是一个有向无环图(DAG图)。而在Spark中,由于计算过程很多时候会有先后顺序,受制于某些任务必须比另一些任务较早执行的限制,必须对任务进行排队,形成一个队列的任务集合,这个队列的任务集合就是DAG图,每一个定点就是一个任务,每一条边代表一种限制约束(Spark中的依赖关系)。
在这里插入图片描述
Spark中DAG生成过程的重点是对Stage的划分,其划分的依据是RDD的依赖关系,对于不同的依赖关系,高层调度器会进行不同的处理。

  • 对于窄依赖,RDD之间的数据不需要进行Shuffle,多个数据处理可以在同一台机器的内存中完成,所以窄依赖在Spark中被划分为同一个Stage;
  • 对于宽依赖,由于Shuffle的存在,必须等到父RDD的Shuffle处理完成后,才能开始接下来的计算,所以会在此处进行Stage的切分。
    在这里插入图片描述
    在Spark中,DAG生成的流程关键在于回溯,在程序提交后,高层调度器将所有的RDD看成是一个Stage,然后对此Stage进行从后往前的回溯,遇到Shuffle就断开,遇到窄依赖,则归并到同一个Stage。等到所有的步骤回溯完成,便生成一个DAG图。
    在这里插入图片描述
    把DAG划分成互相依赖的多个Stage,划分依据是RDD之间的宽依赖,Stage是由一组并行的Task组成。Stage切割规则:从后往前,遇到宽依赖就切割Stage。Stage计算模式:pipeline管道计算模式,pipeline只是一种计算思想、模式,来一条数据然后计算一条数据,把所有的逻辑走完,然后落地。准确的说:一个task处理一串分区的数据,整个计算逻辑全部走完。
    在这里插入图片描述
http://www.tj-hxxt.cn/news/50953.html

相关文章:

  • 常做网站首页的文件名百度企业
  • 广州网站设计推荐柚米seo诊断分析在线工具
  • 做网站如何寻找客源网页模板之家
  • 社交网络的推广方法有哪些?淘宝网店的seo主要是什么
  • 哈尔滨网站设计公司电话百度大数据中心
  • 先建设网站后付款网络推广专员是做什么的
  • 电子外贸网站模板知名的搜索引擎优化
  • iis 多网站查权重工具
  • 日照建设信息网站优化网络的软件下载
  • 郑州网络公司做医疗网站外贸推广公司
  • 品牌网站官网湖南企业竞价优化服务
  • h5制作网站网站排名
  • wordpress虚拟储存镇江seo优化
  • 做网站做本地服务器seo云优化如何
  • 可以做微信小测试的网站合肥网站推广优化公司
  • 有了域名 接下来怎么做网站收录优美图片app
  • 最成功的个人网站体验营销案例
  • 换服务器后网站首页不收录短视频推广平台
  • 开发区医院seo站点
  • 上海地区网站备案需再次提交公安局审核seo策略有哪些
  • 做烘培的网站全国新闻媒体发稿平台
  • 成都网站建设有限公司网站优化包括哪些内容
  • android开发培训福州seo排名优化
  • 群晖可以做网站吗抖音怎么推广
  • 免费网站建设网站有那些百度快照推广有效果吗
  • 咸阳网站建设it培训机构推荐
  • 外贸网站建设需要多少钱百度一下百度首页官网
  • 包装材料网站建设谷歌浏览器最新版本
  • 巴适网站建设搜索引擎营销的实现方法
  • 怎么做网站客服软件今日重大军事新闻