【问题标题】:Is there a link between Spark Components and the Spark Ecosystem?Spark 组件和 Spark 生态系统之间有联系吗?
【发布时间】:2022-01-07 05:17:17
【问题描述】:

我阅读了集群模式概述(链接:https://spark.apache.org/docs/latest/cluster-overview.html),我想知道如何将 Driver、Executor 和 Work 节点等组件映射到 Spark 生态系统的组件上,例如 Spark 核心、Spark SQL、 Spark Streaming、Spark MLlib、Spark GraphX 和调度/集群管理器。这些组件中哪些是用于 Drivers、Executors 和 Work 节点的?

所以基本上我的问题是,这两个 Spark 组件图(图 1)和 Spark 生态系统(图 2)之间是否存在联系。如果可以,请向我解释一下属于驱动程序/执行程序/工作节点的内容

Figure 1: Components of Spark Figure 2: Spark Ecosystem

【问题讨论】:

    标签: apache-spark apache-spark-sql spark-streaming executor sparkcore


    【解决方案1】:

    图1中的集群管理器(问题中提到)与图2中的(Standalone Scheduler, Yarn, Mesos)相关(问题中提到)。

    集群管理器可以是任何一种集群/资源管理器,例如 Yarn、Mesos、kubernates 等。

    节点或工作节点是集群中的机器,您希望在其上以分布式方式运行 Spark 应用程序。您无法将其与 spark 生态系统图上的某些内容联系起来。 节点/工作节点是实际的物理机器,例如您的计算机/笔记本电脑。

    现在,驱动程序和执行程序是在属于集群的机器上运行的进程。

    集群中的一个节点被选为主/驱动节点,这是驱动进程运行的地方,该进程创建 sparkContext 并运行您的 main 方法并以可以分布式方式执行的方式拆分您的代码通过创建工作、阶段和任务。

    集群中的其他节点被选为 Worker 节点,executor 进程在该节点上运行 driver 进程分配给它们的任务。

    现在来到 Spark Core,它是已经创建的组件/框架,它允许在驱动节点和工作节点之间进行所有这些通信、调度和数据传输,您不必担心所有这些事情只专注于您的业务逻辑,无法完成所需的工作。

    Structured Streaming、Spark SQL、MLib、GraphX 是使用 Spark Core 作为基础功能实现的一些功能,因此您可以获得一些可以用来让您的生活更轻松的常用功能。您将在所有节点(即驱动程序节点和工作节点)上安装 spark,并且默认情况下在这些节点上安装所有这些组件。

    您无法准确比较这两个数字,因为一个显示了当您将代码提交到集群时 spark 应用程序是如何执行的,而另一个仅显示了 spark 框架整体提供的各种组件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-28
      • 1970-01-01
      • 1970-01-01
      • 2015-04-29
      • 1970-01-01
      • 2023-03-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多