当前位置: 首页 > 教程 > Spark >

Spark架构

精华
小牛编辑
133浏览
2023-03-14

Spark遵循主从架构。它的集群由一个主服务器和多个从服务器组成。

Spark架构依赖于两个抽象:

  • 弹性分布式数据集(RDD)
  • 有向无环图(DAG)

弹性分布式数据集(RDD)

弹性分布式数据集是可以存储在工作节点上的内存中的数据项组。

  • 弹性:失败时恢复数据。
  • 分布式:数据分布在不同的节点之间。
  • 数据集:数据组。

稍后将详细了解RDD。

有向无环图(DAG)

有向无环图是一种有限的直接图,它对数据执行一系列计算。每个节点都是RDD分区,边缘是数据顶部的转换。

下面来了解Spark架构。

Spark架构

驱动程序

驱动程序是一个运行应用程序,由main()函数并创建SparkContext对象的进程。SparkContext的目的是协调spark应用程序,作为集群上的独立进程集运行。

要在群集上运行,SparkContext将连接到不同类型的群集管理器,然后执行以下任务:

  • 它在集群中的节点上获取执行程序。
  • 它将应用程序代码发送给执行程序。这里,应用程序代码可以通过传递给SparkContext的JAR或Python文件来定义。
  • 最后,SparkContext将任务发送给执行程序以运行。

集群管理器

集群管理器的作用是跨应用程序分配资源。Spark能够在大量集群上运行。
它由各种类型的集群管理器组成,例如:Hadoop YARN,Apache Mesos和Standalone Scheduler。
这里,独立调度程序是一个独立的Spark集群管理器,便于在一组空机器上安装Spark。

工作节点

  • 工作节点是从节点
  • 它的作用是在集群中运行应用程序代码。

执行程序

  • 执行程序是为工作节点上的应用程序启动的进程。
  • 它运行任务并将数据保存在内存或磁盘存储中。
  • 它将数据读写到外部源。
  • 每个应用程序都包含其执行者。

任务

  • 任务被发送给一个执行程序的工作单位。