《Spark大数据分析:核心概念、技术及实践》一3.2 总体架构

3.2 总体架构

一个Spark应用包括5个重要部分:驱动程序、集群管理员、worker、执行者、任务(见图3-1)。

3.2.1 worker

worker为Spark应用提供CPU、内存和存储资源。worker把Spark应用当成分布式进程在集群节点上执行。

3.2.2 集群管理员

Spark使用集群管理员来获得执行作业所需要的集群资源。顾名思义,集群管理员管理集群中worker节点的计算资源。它能跨应用从底层调度集群资源。它可以让多个应用分享集群资源并且运行在同一个worker节点上。

Spark目前支持三种集群管理员:单独模式、Mesos模式、YARN模式。Mesos模式和YARN模式都允许在同一个worker节点上同时运行Spark应用和Hadoop应用。第10章将详细介绍集群管理员。

3.2.3 驱动程序

驱动程序是一个把Spark当成库使用的应用。它提供数据处理的代码,Spark将在worker节点上执行这些代码。一个驱动程序可以在Spark集群上启动一个或多个作业。

3.2.4 执行者

执行者是一个JVM进程,对于一个应用由Spark在每一个worker上创建。它可以多线程的方式并发执行应用代码。它也可以把数据缓存在内存或硬盘中。

执行者的生命周期和创建它的应用一样。一旦Spark应用结束,那么为它创建的执行者也将寿终正寝。

3.2.5 任务

任务是Spark发送给执行者的最小工作单元。它运行在worker节点上执行者的一个线程中。每一个任务都执行一些计算,然后将结果返回给驱动程序,或者分区以用于shuffle操作。

Spark为每一个数据分区创建一个任务。一个执行者可以并发执行一个或多个任务。任务数量由分区的数量决定。更多的分区意味着将有更多的任务并行处理数据。

时间: 2024-10-04 15:13:34

《Spark大数据分析:核心概念、技术及实践》一3.2 总体架构的相关文章

《Spark大数据分析:核心概念、技术及实践》大数据技术一览

本节书摘来自华章出版社<Spark大数据分析:核心概念.技术及实践>一书中的第1章,第1节,作者穆罕默德·古勒(Mohammed Guller)更多章节内容可以访问"华章计算机"公众号查看. 大数据技术一览 我们正处在大数据时代.数据不仅是任何组织的命脉,而且在指数级增长.今天所产生的数据比过去几年所产生的数据大好几个数量级.挑战在于如何从数据中获取商业价值.这就是大数据相关技术想要解决的问题.因此,大数据已成为过去几年最热门的技术趋势之一.一些非常活跃的开源项目都与大数据

《Spark大数据分析:核心概念、技术及实践》Scala编程

本节书摘来自华章出版社<Spark大数据分析:核心概念.技术及实践>一书中的第1章,第2节,作者穆罕默德·古勒(Mohammed Guller)更多章节内容可以访问"华章计算机"公众号查看. Scala编程 Scala是当前热门的现代编程语言之一.它是编程语言界的凯迪拉克.它是一门强大且优美的语言.学会了它,对你的职业生涯大有裨益. 用不同的编程语言都可以编写大数据应用程序,比如Java.Python.C++.Scala等.Hadoop本身就是用Java编写的.尽管大多数的

《Spark大数据分析:核心概念、技术及实践》Spark Core

本节书摘来自华章出版社<Spark大数据分析:核心概念.技术及实践>一书中的第1章,第节,作者穆罕默德·古勒(Mohammed Guller)更多章节内容可以访问"华章计算机"公众号查看. Spark Core Spark是大数据领域最活跃的开源项目,甚至比Hadoop还要热门.如第1章所述,它被认为是Hadoop的继任者.Spark的使用率大幅增长.很多组织正在用Spark取代Hadoop. 从概念上看,Spark类似于Hadoop,它们都用于处理大数据.它们都能用商用硬

《Spark大数据分析:核心概念、技术及实践》一3.9 共享变量

 本节书摘来自华章出版社<Spark大数据分析:核心概念.技术及实践>一书中的第3章,第3.9节,作者[美] 穆罕默德·古勒(Mohammed Guller),更多章节内容可以访问"华章计算机"公众号查看. 3.9 共享变量 Spark使用的架构是无共享的.数据分布在集群的各个节点上,每个节点都有自己的CPU.内存和存储资源.没有全局的内存空间用于任务间共享.驱动程序和任务之间通过消息共享数据. 举例来说,如果一个RDD操作的函数参数是驱动程序中变量的引用,Spark会将这

《Spark大数据分析:核心概念、技术及实践》一 第2章 Scala编程

  本节书摘来自华章出版社<Spark大数据分析:核心概念.技术及实践>一书中的第2章,第2.1节,作者[美] 穆罕默德·古勒(Mohammed Guller),更多章节内容可以访问"华章计算机"公众号查看. 第2章 Scala编程 Scala是当前热门的现代编程语言之一.它是编程语言界的凯迪拉克.它是一门强大且优美的语言.学会了它,对你的职业生涯大有裨益. 用不同的编程语言都可以编写大数据应用程序,比如Java.Python.C++.Scala等.Hadoop本身就是用J

《Spark大数据分析:核心概念、技术及实践》一 1.3 列存储

  本节书摘来自华章出版社<Spark大数据分析:核心概念.技术及实践>一书中的第1章,第1.3节,作者[美] 穆罕默德·古勒(Mohammed Guller),更多章节内容可以访问"华章计算机"公众号查看. 1.3 列存储 数据可以面向行或面向列的格式来存储.在面向行格式中,一行的所有列或字段存储在一起.这里的一行,可以是CSV文件中的一行,或者是数据库表中的一条记录.当数据以面向行格式保存时,第一行后面是第二行,接着是第三行,以此类推.面向行存储对于主要执行数据的CRU

《Spark大数据分析:核心概念、技术及实践》一3.8 Spark作业

 本节书摘来自华章出版社<Spark大数据分析:核心概念.技术及实践>一书中的第3章,第3.8节,作者[美] 穆罕默德·古勒(Mohammed Guller),更多章节内容可以访问"华章计算机"公众号查看. 3.8 Spark作业 RDD上的转换.操作和缓存方法构成了Spark应用的基础.从本质上说,RDD描述了Spark编程模型.既然我们介绍过了编程模型,那么接下来我们介绍在Spark应用中这些是怎么结合在一起的. 作业指的是Spark将要执行的一些计算,它们将操作的结果

《Spark大数据分析:核心概念、技术及实践》一3.6 惰性操作

 本节书摘来自华章出版社<Spark大数据分析:核心概念.技术及实践>一书中的第3章,第3.6节,作者[美] 穆罕默德·古勒(Mohammed Guller),更多章节内容可以访问"华章计算机"公众号查看. 3.6 惰性操作 RDD的创建和转换方法都是惰性操作.当应用调用一个返回RDD的方法的时候,Spark并不会立即执行运算.比如,当你使用SparkContext的textFile方法从HDFS中读取文件时,Spark并不会马上从硬盘中读取文件.类似地,RDD转换操作(它

《Spark大数据分析:核心概念、技术及实践》一3.10 总结

 本节书摘来自华章出版社<Spark大数据分析:核心概念.技术及实践>一书中的第3章,第3.10节,作者[美] 穆罕默德·古勒(Mohammed Guller),更多章节内容可以访问"华章计算机"公众号查看. 3.10 总结 Spark是一个快速.可扩展.可容错且基于内存的集群计算框架.一个Spark应用可以比Hadoop应用快上100倍. Spark不但快速而且它能很方便地使用mapReduce.通过不同语言(包括Java.Python.Scala和R)的易读的API,它

《Spark大数据分析:核心概念、技术及实践》一1.7 总结

  本节书摘来自华章出版社<Spark大数据分析:核心概念.技术及实践>一书中的第1章,第1.7节,作者[美] 穆罕默德·古勒(Mohammed Guller),更多章节内容可以访问"华章计算机"公众号查看. 1.7 总结 近年来数据的指数级增长给许多大数据技术带来了机会.传统的专有产品要么无法处理大数据,要么代价太昂贵.这就为开源大数据技术打开了一扇门.仅仅在过去几年里,这个领域的快速创新已经催生出很多新产品.大数据领域如此之大,以至于可以写一本书专门来介绍各种各样的大数