大数据_Spark常见组件

article/2025/9/15 9:50:13

        Spark 是一个分布式数据处理引擎,其各种组件在一个集群上协同工作,下面是各个组件之间的关系图。

Spark驱动器

作为 Spark 应用中负责初始化 SparkSession 的部分,Spark 驱动器扮演着多个角色:它与集群管理器打交道;它向集群管理器申请 Spark 执行器(JVM)所需要的资源(CPU、内存等);它还会将所有的 Spark 操作转换为 DAG 运算,并负责调度,还要将这些计算分成任务分发到 Spark 执行器上。一旦资源分配完成,创建好执行器后,驱动器就会直接与执行器通信。

SparkSession

在 Spark 2.0 中,SparkSession 是所有 Spark 操作和数据的统一入口。它不仅封装了 Spark 程序之前的各种入口(如 SparkContext、SQLContext、HiveContext、SparkConf,以及 StreamingContext 等),还让 Spark 变得更加简单、好用。

通过这个入口,可以创建 JVM 运行时参数、定义 DataFrame 或 Dataset、从数据源读取数据、访问数据库元数据,并发起 Spark SQL 查询。SparkSession 为所有的 Spark 功能提供了统一的入口。

集群管理器

集群管理器负责管理和分配集群内各节点的资源,以用于 Spark 应用的执行。目前,Spark 支持 4种集群管理器:Spark 自带的独立集群管理器、Apache Hadoop YARN、Apache Mesos,以及Kubernetes。

Spark执行器

Spark 执行器在集群内各工作节点上运行。执行器与驱动器程序通信,并负责在工作节点上执行任务。在大多数部署模式中,每个工作节点上只有一个执行器。

部署模式

支持多种部署模式是 Spark 的一大优势,这让Spark 可以在不同的配置和环境中运行。因为集群管理器不需要知道它实际在哪里运行(只要能管理Spark 的执行器,并满足资源请求就行),所以Spark 可以部署在 Apache Hadoop YARN 和Kubernetes 等一些常见环境中,并且以不同的模式运行。

分布式数据与分区

实际的物理数据是以分区的形式分布在 HDFS 或者云存储上的,如图下图。数据分区遍布整个物理集群,而 Spark 将每个分区在逻辑上抽象为内存中的一个DataFrame4。出于数据本地性要求,在分配任务时,根据要读取的数据分区与各Spark 执行器在网络上的远近,最好将任务分配到最近的 Spark 执行器上。

分区可以实现高效的并行执行。将数据切割为数据块或分区的分布式结构可以让Spark 执行器只处理靠近自己的数据,从而最小化网络带宽使用率。也就是说,执行器的每个核心都能分到自己要处理的数据分区,如图所示:


http://chatgpt.dhexx.cn/article/RLysQAu5.shtml

相关文章

大数据Spark框架

Spark 是一种基于内存快速、通用、可扩展的大数据分析计算引擎。 Spark 优势: Spark核心单元RDD适合并行计算和重复使用;RDD模型丰富,使用灵活;多个任务之间基于内存相互通信(除了shuffle会把数据写入磁盘&#xff0…

Windows下的Spark环境配置(含IDEA创建工程--《Spark大数据技术与应用》第九章-菜品推荐项目)

文章目录 前言一、下载资源二、本地配置步骤1.解压2.引入本地环境3.启动HADOOP文件4.进行Spark测试 三、IDEA引入Spark项目1.idea按照scala插件2.新建scala项目3.配置项目4.新建scala类 前言 本文适用于《Spark大数据技术与应用》第九章-菜品推荐项目环境配置: 跟…

Spark开发:Spark大数据开发编程示例

大数据开发人员,根据企业大数据处理的需求,进行大数据平台系统的搭建,比如说Hadoop,比如说Spark,而不同的大数据处理框架,采取不同的编程语言和编程模型,这就需要技术开发人员要掌握相关的技术。…

《Spark大数据技术与应用》肖芳 张良均著——课后习题

目录 教材知识汇总课后习题第一章 Spark概述Spark的特点Spark生态圈Spark应用场景 第二章 Scala基础匿名函数SetMapmapflatMapgroupBy课后习题 第三章 Spark编程教材52页任务3.2及之后的任务 重点复习sortBy排序collect查询distinct去重zip实训题实训1实训2选择题编程题 第四章…

Spark大数据技术与应用 第一章Spark简介与运行原理

Spark大数据技术与应用 第一章Spark简介与运行原理 1.Spark是2009年由马泰扎哈里亚在美国加州大学伯克利分校的AMPLab实验室开发的子项目,经过开源后捐赠给Aspache软件基金会,成为了Apache Spark。由Scala语言实现的专门为大规模数据处理而设计的快速通用…

大数据之Spark:Spark 基础

目录 1、Spark 发展史2、Spark 为什么会流行3、Spark 特点4、Spark 运行模式 1、Spark 发展史 2009 年诞生于美国加州大学伯克利分校 AMP 实验室; 2014 年 2 月,Spark 成为 Apache 的顶级项目; Spark 成功构建起了一体化、多元化的大数据处…

大数据之spark详解

目录 什么是spark: 功能历史上和hadoop的区别: spark的五大核心模块: ➢ Spark Core 什么是spark: 简单一点Spark 是一种基于内存的快速、通用、可扩展的大数据分析计算引擎。属于mapreduce的加强版本,结合了其优点…

09.大数据技术之Spark

文章目录 一、Spark概述1、概述2、Spark特点 二、Spark角色介绍及运行模式1、集群角色2、运行模式 三、Spark集群安装1.Local模式1.下载文件2.解压缩3、修改配置文件4.配置环境变量5.启动服务6.启动客户端 2.Standalone模式1.停止服务2.修改配置文件spark-env.sh3.修改配置文件…

大数据框架之Spark详解

目录 1 Spark概述1.1 Spark是什么?1.2 Spark内置模块1.3 Spark 特点 2 RDD概述2.1 什么是RDD?2.2 RDD的属性2.3 RDD特点2.4 弹性体现在哪?2.5 分区2.6 分区2.7 依赖2.8 缓存2.9 CheckPoint 1 Spark概述 1.1 Spark是什么? Spark是…

大数据学习 之 Spark 概述

文章目录 一、Spark简介Spark与Hadoop的区别部署模式 二、 Spark架构1.Driver2.Executor3.Master & Worker4.Cluster manager5.ApplicationMaster补充点:Stage执行过程 三、Shuffle机制shuffle介绍Shuffle的影响导致Shuffle的操作 四、RDD(弹性分布式…

大数据技术---Spark

一、Spark简介 1、Spark概述 Spark:由美国加州伯克利大学的AMP实验室于2009年开发,基于内存计算的大数据并行计算框架,可用于构建大型的、低延迟的数据分析应用程序。 三大分布式计算系统开源项目:Hadoop、Spark、Storm。 Spark的…

KB、MB、GB等和KiB、MiB、GiB等的区别

今天装系统RHEL7.7,在分区时发现单位变成MiB、GiB了,有点奇怪就查了查。 区别: KB、MB、GB等单位以10为底数的指数 KiB、MiB、GiB等单位是以2为底数的指数 如:1KB10^31000, 1MB10^610000001000KB,1GB10^910000000001000MB,而 …

asset size limit: The following asset(s) exceed the recommended size limit (244 KiB).

webpack打包提示文件体积过大导致: The following asset(s) exceed the recommended size limit (244 KiB). This can impact web performance. entrypoint size limit: The following entrypoint(s) combined asset size exceeds the recommended limit (244 Ki…

当git clone遇到client_loop:send disconnect: Connection reset by peer00 Kib/s

当git clone遇到client_loop:send disconnect: Connection reset by peer00 Kib/s 1. 问题描述2.问题解决3.原因分析 1. 问题描述 刚换了新电脑,重新配置了下git仓库的ssh后,迫不及待想 git clone 先项目。发现遇到个问题: 在执行 git clone…

Kibana

Kibana是一个开源的分析和可视化平台,设计用于和Elasticsearch一起工作。 你用Kibana来搜索,查看,并和存储在Elasticsearch索引中的数据进行交互。 你可以轻松地执行高级数据分析,并且以各种图标、表格和地图的形式可视化数据。…

WARNING in asset size limit: The following asset(s) exceed the recommended size limit (244 KiB)

Taro打包h5体积限制 警告: WARNING in asset size limit: The following asset(s) exceed the recommended size limit (244 KiB). 可以使用webpack-bundle-analyzer插件对打包体积进行分析,参考代码: webpackChain (chain) {chain.plug…

【名词解释】KiB和KB,MiB和MB,GiB和GB 等的区别以及1M带宽到底是多少?

目录 1. KiB和KB,MiB和MB,GiB和GB 2. 宽带速度 3. 单位换算 1. KiB和KB,MiB和MB,GiB和GB KiB和KB,MiB和MB,GiB和GB 等的区别: 1KB(kilobyte)10^31000byte, 1KiB(kibibyte)2^101024byte …

b、B、KB、Kib、MB、MiB、GB、GiB、TB、TiB的区别

1024这个数字,想必计算机行业从业人员应该不会陌生,甚至10月24日还被当做程序员日,如果你问一个程序员1GB等于多少MB,他大概率会不假思索回答:1024。 没错,对于稍微对计算机或者网络有了解的人,一般都认为1024是数据容…

KB和KiB的区别是什么?

KB和KiB的区别是什么? 文章目录 KB和KiB的区别是什么?前言MB与MiB的区别:KB和KiB的区别为什么买到的硬盘容量总是会少一些? 前言 今天整理资料时发现使用windows自带的资源管理器查看文件夹大小时计算很缓慢, 机智的我想到了使用dir命令来查看 哈哈~…

KiB是什么单位

kiB1024byte kb1000byte