zoukankan      html  css  js  c++  java
  • spark运行机制

    image-20211031202232218

    1. 构建DAG(Driver 端完成)

      使用算子操作 RDD 进行各种 Transformation 操作,最后通过 Action 操作触发 Spark 作业运行。提交之后 Spark 会根据转换过程所产生的 RDD 之间的依赖关系构建有向无环图

    2. DAG 切割(Driver 端完成)

      DAG 切割主要根据 RDD 的依赖是否为宽窄依赖来解决切割节点,当遇到宽依赖就将任务划分为一个新的调度阶段(Stage)。每个 Stage 中包含一个或多个 Task。这些 Task 将形成任务集(TaskSet),提交给底层调度器进行调度运行。

    3. 任务调度(Driver 端完成)

      每一个 Spark 任务调度器只为一个 SparkContext 实例服务。当任务调度器收到任务集后负责把任务集以 Task 任务的形式分发至 Worker 节点的 Executor 进程中执行,如果某个任务失败,任务调度器负责重新分配该任务的计算。

    4. 执行任务(Worker 的 Executor 执行)

      当 Executor 收到发送过来的任务后,将以多线程(会再启动 Executor 的时候就初始化好一个线程池)的方式执行任务计算,每个线程负责一个任务,任务结束后会根据任务的类型选择相应的返回方式将结果返回给任务调度器

  • 相关阅读:
    flex兼容写法
    多行文字,最后一行省略号(适用于移动端)
    checkbox样式修改
    响应式布局
    微信常用的页面跳转
    css小技巧(清除滚动条)
    JS学习---PHP浅识
    qml 画页迁移
    list滚动条Scroll 偏移和长度计算公式总结
    qml listview关键字高亮
  • 原文地址:https://www.cnblogs.com/starzy/p/15490911.html
Copyright © 2011-2022 走看看