Spark体系结构
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。
工人节点
工作节点是从节点
它的作用是在集群中运行应用程序代码。
执行器
执行程序是为工作节点上的应用程序启动的过程。
它运行任务,并将数据跨任务存储在内存或磁盘存储中。
它可以读取数据并将数据写入外部源。
每个应用程序都包含其执行程序。
任务
将被发送给一位执行者的工作单元。