gpt4 book ai didi

apache-spark - DAG 调度程序与 Spark 的催化剂

转载 作者:行者123 更新时间:2023-12-04 17:22:10 24 4
gpt4 key购买 nike

我想确认通过阅读所有博客和 Databricks 来源以及 Holden、Warren 等专家的某些方面,似乎仍然没有得到很好的解释。我还注意到网上关于这个主题的一些未回答的问题。
然后如下:

  • 我的理解是,对于 RDD,我们使用 DAG 调度程序以简单的方式创建阶段。
  • 基于我的理解 on reading elsewhere to-date对于 DF 和 DS,我们:
  • 使用 Catalyst 而不是 DAG Scheduler。但我不相信。
  • 有钨。


  • 由于 DAG 也适用于 DF 和 DS(显然),我还剩下 1 个问题 - 只是为了确定:
  • 是 Catalyst 也创建了 Stage 吗?
  • 这似乎是一个愚蠢的问题,但我在 SO 上注意到了一个关于禁用 Spark Catalyst Optimizer 的问题。那将意味着没有。
  • 此外,由于 Spark 范式是基于 Stage(随机边界)的,在我看来,决定 Stages 不是 Catalyst 的事情。


  • 因此,我的结论是 DAG 调度程序仍然用于带有 DF 和 DS 的阶段,但我正在寻找确认。
    而且,这张图暗示还有一个 DAG Scheduler。
    enter image description here
    这张来自 Databricks 2019 峰会的图片似乎与博客上的声明形成对比:

    An important element helping Dataset to perform better is CatalystOptimizer (CO), an internal query optimizer. It "translates"transformations used to build the Dataset to physical plan ofexecution. Thus, it's similar to DAG scheduler used to create physicalplan of execution of RDD. ...


    我在带有 DF 等的 DAG 上看到许多关于 SO 的悬而未决的问题,而且很多东西都过时了,因为它与 RDD 相关。因此,因此,我询问了一些我与 Spark 知识的联系,并指出他们未能提供合适的答案。

    最佳答案

    让我尝试为您清除这些术语。
    Spark Scheduler负责调度任务执行。它管理作业的调度位置、并行调度等。Spark Scheduler 与块管理器和集群后端协同工作,有效利用集群资源来实现各种工作负载的高性能。 DAGScheduler 是其中的一部分。
    Catalyst是 Spark 的优化器组件。它执行查询优化并创建多个执行计划,从 RDD 方面选择最优化的执行计划。
    Tungsten是一个伞形项目,专注于提高 Spark 应用程序的 CPU 和内存利用率。
    DAGScheduler负责阶段的生成及其调度。它根据它们是“窄”依赖关系还是具有随机依赖关系,在随机边界处打破每个 RDD 图。它还根据当前缓存状态确定每个任务应该在哪里执行。

    关于apache-spark - DAG 调度程序与 Spark 的催化剂,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65553457/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com