本文概述
Spark遵循主从架构。它的集群由一个主机和多个从机组成。
Spark体系结构取决于两个抽象:
- 弹性分布式数据集(RDD)
- 有向无环图(DAG)
弹性分布式数据集(RDD)
弹性分布式数据集是可以存储在工作节点上的内存中的一组数据项。这里,
- 弹性:恢复故障数据。
- 分布式:数据分布在不同的节点之间。
- 数据集:数据组。
稍后我们将详细了解RDD。
有向无环图(DAG)
有向无环图是对数据执行一系列计算的有限直接图。每个节点都是RDD分区, 边缘是数据之上的转换。在此, 图形是指导航, 而有向和无环是指导航的完成方式。
让我们了解一下Spark架构。
驱动程序
驱动程序是运行应用程序的main()函数并创建SparkContext对象的过程。 SparkContext的目的是协调Spark应用程序, 它们在集群上作为独立的进程集运行。
要在集群上运行, SparkContext连接到其他类型的集群管理器, 然后执行以下任务:-
- 它在群集中的节点上获取执行程序。
- 然后, 它将你的应用程序代码发送给执行者。在这里, 可以通过传递到SparkContext的JAR或Python文件定义应用程序代码。
- 最后, SparkContext将任务发送给执行程序以运行。
集群管理器
- 集群管理器的作用是在应用程序之间分配资源。 Spark具有足够的能力在大量集群上运行。
- 它由各种类型的集群管理器组成, 例如Hadoop YARN, Apache Mesos和Standalone Scheduler。
- 在这里, 独立调度程序是一个独立的Spark集群管理器, 可帮助在空机器上安装Spark。
工作节点
- 工作节点是从节点
- 它的作用是在集群中运行应用程序代码。
执行者
- 执行程序是为工作节点上的应用程序启动的过程。
- 它运行任务并将数据跨它们保留在内存或磁盘存储中。
- 它读取数据并将数据写入外部源。
- 每个应用程序都包含其执行程序。
任务
- 一种工作单元, 将发送给一个执行者。
评论前必须登录!
注册