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

上海专业网站营销网站建设与管理报告书

上海专业网站营销,网站建设与管理报告书,深圳建设工程交易网站宝安,网站制作的公司哪个好基本流程 用户编写的Spark应用程序最开始都要初始化SparkContext。 用户编写的应用程序中,每执行一个action操作,就会触发一个job的执行,一个应用程序中可能会生成多个job执行。一个job如果存在宽依赖,会将shuffle前后划分成两个…

基本流程

用户编写的Spark应用程序最开始都要初始化SparkContext。

用户编写的应用程序中,每执行一个action操作,就会触发一个job的执行,一个应用程序中可能会生成多个job执行。一个job如果存在宽依赖,会将shuffle前后划分成两个stage,前一个stage会将计算结果临时进行存储,后一个stage则进行读取,完成数据交换。

每个stage中,需要执行的计算过程会被划分成多个逻辑相同的一组Task,每个Task会被提交到Executor中运行。当Task运行完成后,会将运行结果返回至Driver中。 

主要组件

Driver端

  1. DAGScheduler:负责将Job划分为Stage,再将Stage划分为TaskSet;
  2. TaskScheduler:负责任务的调度;
  3. SchedulerBackend:负责资源的分配,并把Task提交给Executor中执行。

Executor端

  1. BlockManager:缓存RDD、缓存Task运行结果。

Job提交执行流程

Task提交

SparkContext将RDD的action操作转化为Job,并将Job交给DAGScheduler做进一步处理。

DAGScheduler首选根据shuffle划分stage,根据stage中分区的数量,生成一组Task(即TaskSet),生成Task时还会计算Task的最佳执行位置。DAGScheduler会根据RDD是否进行了缓存来确定是否具有最佳运行位置。

DAGScheduler将Stage生成TaskSet以后,会将TaskSet交给TaskScheduler进行处理,TaskScheduler负责将Task提交到集群中运行,并负责失败重试,为DAGScheduler返回事件信息等。

当有任务提交至TaskScheduler中时,TaskScheduler会通知SchedulerBackend分配计算资源。SchedulerBackend将所有可用的Executor的资源信息转换为WorkerOffer交给TaskScheduler。TaskScheduler负责根据这些WorkerOffer在相应的Executor分配TaskSet中的Task。

SchedulerBackend中通过使用Map结构记录每一个ExecutorData的映射,即可管理所有Executor的CPU使用的情况。为计算任务分配计算资源时,只需要遍历所有的ExecutorData,分配可用的资源即可。

TaskScheduler在接受到DAGScheduler提交的TaskSet以后,会为每个TaskSet创建一个TaskSetManager,用于管理该TaskSet中所有任务的运行。TaskSetManager会根据Task中的最佳运行位置计算TaskSet的所有本地运行级别,本地运行的级别决定了Task最终在哪个Executor中运行。Spark中本地运行级别从小到大可分为进程本地化、节点本地化、无优先位置、机架本地化、任意节点。

Task执行

Executor接收到SchedulerBackend提交的LaunchTask消息后,即可运行该消息中包含的Task。Executor将接收到的Task封装到TaskRunner中,TaskRunner是一个Runnable接口,从而可以将该任务提交到线程池中运行。

当在一个Executor中同时运行多个Task时,多个Task共享Executor中SparkEnv的所有组件,共用Executor中分配的内存。如使用Spark广播变量时,每个Executor中会存在一份,Executor中所有的任务会共享这一份变量。当Executor中的BlockManager缓存了某rdd某分区的数据时,在该Executor上调度使用这个RDD的这个分区的数据的Task执行,可以有效减少网络加载数据的过程,减少网络传输。

当Executor中Task运行完成时,需要将Task的运行结果返回Driver程序,Driver程序根据结果判断该Stage是否计算完成,或者该Job是否计算完成。

http://www.yayakq.cn/news/40566/

相关文章:

  • 带数据库的网站怎么建网站建设费如何入账怎么摊销
  • js代码下载网站如何开发游戏
  • 基于python网站开发网络营销 长沙
  • 简述电子商务网站建设的基本流程app制作app定制开发价格
  • 怎样做咨询网站附近搬家公司
  • 添加网站备案号链接南高齿网站是谁做的
  • 网页设计如何建立网站如何处理网站死链
  • 推荐企业门户网站建设建大仁科公司网站
  • 济南济南网站建设网站建设wordpress关闭站点
  • 深圳手机企业网站设计怎么制作h5
  • ui素材网站个人网站模板制作
  • 大城 网站泰安网站建设哪家不错
  • 专门做肥料外贸的网站全国网站开发赛
  • 劳务派遣东莞网站建设找人做网站协议
  • 手把手教你做网站视频微信怎么申请小程序
  • 免费建设网站建网站需要多少费用
  • 建设春秋龙卡信用卡网站wordpress 兼容移动端
  • 淄博网站建设-中国互联html5做手机网站
  • 淘宝客网站怎么做的wordpress登陆注册界面
  • 弱电网站源码龙采做网站要多少钱
  • 桂林网站制作公司兴平做网站
  • 网站建设毕业设计题目厦门自助建站
  • 网站开发qq群珠海市网站建设制作设计平台
  • 怎样做心理咨询网站怎么样进行网站建设
  • 客户管理系统排行榜做网站优化两年遇到的SEO常态
  • 北京建机网站做企业网站一定要企业邮箱嘛
  • 免费电子商务网站源码二次网站开发
  • wordpress网站做成app6网站备案期间
  • 网站建站所用的技术济南工程建设信息网
  • 手机如何制作网站教程网站技术团队