Spark 架构

Spark 架构

Spark遵循主从架构。其集群由一个主节点和多个从节点组成。

Spark架构依赖于两个抽象概念:

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

弹性分布式数据集(RDD)

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

  • 弹性:在故障时能够恢复数据。
  • 分布式:数据分布在不同节点之间。
  • 数据集:一组数据。

我们稍后会详细学习RDD。

有向无环图(DAG)

有向无环图是在数据上执行一系列计算的有限直接图。每个节点是一个RDD分区,边是对数据的转换。这里,图表示导航,而有向和无环表示如何进行。

我们来了解一下Spark架构。

Spark 架构

驱动程序

驱动程序是运行应用程序的main()函数并创建SparkContext对象的过程。SparkContext的目的是协调独立的进程集在集群上运行的Spark应用程序。

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

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

集群管理器

  • 集群管理器的作用是在应用程序之间分配资源。Spark可以在大量的集群上运行。
  • 它包括各种类型的集群管理器,如Hadoop YARN、Apache Mesos和独立调度程序。
  • 在这里,独立调度程序是一个独立的Spark集群管理器,可以在一组空机器上安装Spark

工作节点

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

执行器

  • 执行器是在工作节点上为应用程序启动的一个进程。
  • 它运行任务并在它们之间保留数据在内存或磁盘存储。
  • 它读取和写入外部数据源。
  • 每个应用程序都包含自己的执行器。

任务

  • 一个将被发送到一个执行器的工作单元。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程