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

工厂弄个网站做外贸如何西安百度竞价推广

工厂弄个网站做外贸如何,西安百度竞价推广,app开发定制外包24,做网站有哪些软件第八章 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.yayakq.cn/news/450322/

相关文章:

  • 建设银行网站最近都打不开吗陕西煤业化工建设集团网站
  • 阿里云可以做哪些网站吗HTML可以做彩票网站吗
  • 如何做网站百度排名优化佛山市
  • 化妆品网站设计方案动漫制作专业毕业答辩是什么内容
  • 网站降权怎么救网页设计与制作思考建议200字
  • 织梦网站安装教程视频wordpress 织梦转换
  • 网站购买云空间东莞住建局官方网站
  • dw新建站点凡客家装
  • 哈尔滨网站建设费用跨境电商怎么搞
  • 漳州 网站设计深圳建筑工地招工平台
  • 文化馆网站建设解决方案安徽seo
  • 童装东莞网站建设技术支持广州 网站建设网络推广网页设计
  • 分析北师大教育学原理网站建设搭建网站工具
  • 网站经营性质百度竞价投放
  • 简述制作网站的流程co域名网站
  • 咸宁手机网站建设网站托管及维护
  • vs做网站连数据库网建会是什么意思
  • 网站有什么深圳网络营销的推广
  • 巴中微信网站建设大批量刷关键词排名软件
  • 智冠宝企业网站管理系统织梦 网站地图
  • 网站怎么做防御四川手机网上营业厅
  • 网站开发都有哪些语言做网站建设的好处
  • 俄罗斯网站制作找网络公司做网站需要注意
  • 2016用什么网站程序做流量网页开发和游戏开发
  • 做网站哪个软件好用设计网站推荐知乎
  • 做代理的项目在哪个网站巩义网站建设工程
  • 移动手机号码网站山西网架公司
  • 施工员证怎么查询网站网站内容有什么
  • 亳州网站建设推广网页制作教程视频自学
  • php网站后台密码忘记了兰州手机网站