Spark 原理_物理图_介绍 | 学习笔记

简介: 快速学习 Spark 原理_物理图_介绍

开发者学堂课程【大数据 Spark 2020版(知识精讲与实战演练)第三阶段Spark 原理_物理图_介绍】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/689/detail/12021


Spark 原理_物理图_介绍


内容简介

一、回顾

二、了解物理执行图

三、谁来计算 RDD

四、谁来计算 RDD

 

一、回顾

在前面我们学习了逻辑执行图的生成,是什么,里面包含的内容,总之逻辑执行图就是表达了数据的计算流程,从哪一步到哪一步

接下来我们要去了解一下物理执行图

逻辑执行图最终要运行到集群当中,就是本节要学习的内容

 

二、了解物理执行图

在逻辑执行图重要了解的问题很简单,如图已经生成好了,接下来我们要研究如何运行在集群中,在此之间,我们要了解集群的内容

如图:

image.png

1.集群分为 master-worker-管理多个 executor,最终整个逻辑执行图要在 executor 中运行

2.rdd 可以直接在 executor 中运行吗?RDD1 不能直接再 executor 中运行

3.逻辑执行图是数据流转的过程,数据计算的表达

例如要生产一台车,这里逻辑执行图相当于设计图,车要如何设计都在设计图中,但是设计图不能自发把车造出来,所以需要工人按照设计图将车设计出来,同理有了逻辑执行图,需要工人执行,接下里我们要规划一下谁来执行逻辑执行图,这就是物理图的意义,逻辑执行图表达了数据如何计算,物理图表达了整个计算如何在集群中运行,这就是物理图的作用和意义

 

三、谁来计算 RDD

rdd 自己是无法计算自身的,谁来计算,我们来看一下

1.RDD 是什么,用来做什么?

回顾 RDD 的五大属性

A list of partitions //分区列表

A function for computing each split //计算函数

A list of dependencies on other RDDs //依赖关系

Optionally, a Partitioner for key-value RDDs (e.g. to say that the RDD is hash-partitioned) //分区函数

Optionally, a list of preferred locations to compute each split on(e.g .block locactions for an HIDFS file) //最佳位置

//分区列表,分区函数,最佳位置,这三个属性其实说的即使数据集在哪,分成了多少份,在哪更合适,在 shuffle 后如何分区

通过这三个属性可以看到 rdd 表达的就是一个数据集的概念

//计算函数和依赖关系,这两个属性其实说的是数据集从哪来、怎样得到

后两个属性说的就是计算的过程

所以结论是 RDD 是一个数据集的表示,不仅表示了数据集,还表示了这个数据集从哪来,如何计算

Rdd 既然是这样的一种表示,更像是一种数据计算的设计图,设计图自身是不能生产的,谁来生产呢?工人

 

四、谁来计算 RDD

整个集群中执行的组件叫做 executor

1.RDD 是在 executor 中运行,那么直接说 executor 就是那个工人也并不合适

2.直接使用 executor 也是不合适的,因为一个计算的执行总是需要一个容器,例如 JVM 是一个进程,只有进程中才能有线程,所以这个计算 RDD 的线程应该运行在一个进程中,这个进程就是 exeutorexecutor 有如下两个职责

(1) driver 保持交互从而认领属于自己的任务,动过自身的线程开启任务  //dirve 整个 spark 驱动程序

Executor 会与 driver 保持通讯,认领自身要执行的任务,开启线程

image.png

(2)接受任务后,运行任务

image.png

3.  所以,应该由一个线程来执行 RDD 的计算任务,而 executor 作为执行这个人物的容器,也就是一个进程,用于创建和执行线程,这个执行具体计算任务的线程叫做 task

总之,通过物理图进行规划逻辑图如何计算,运行 executor 内部的 task 进行计算

总结知识点,物理图的意义是什么,去编制逻辑图如何计算、在那计算;谁来计算,不可能是 rdd 自己来计算,也不是 executor 来计算,而是 executor 类运行 task 去计算

相关文章
|
5月前
|
移动开发 分布式计算 Spark
Spark的几种去重的原理分析
Spark的几种去重的原理分析
77 0
|
5月前
|
机器学习/深度学习 SQL 分布式计算
Spark核心原理与应用场景解析:面试经验与必备知识点解析
本文深入探讨Spark核心原理(RDD、DAG、内存计算、容错机制)和生态系统(Spark SQL、MLlib、Streaming),并分析其在大规模数据处理、机器学习及实时流处理中的应用。通过代码示例展示DataFrame操作,帮助读者准备面试,同时强调结合个人经验、行业趋势和技术发展以展现全面的技术实力。
310 0
|
5月前
|
存储 分布式计算 数据处理
bigdata-35-Spark工作原理
bigdata-35-Spark工作原理
38 0
|
4月前
|
机器学习/深度学习 分布式计算 API
技术好文:Spark机器学习笔记一
技术好文:Spark机器学习笔记一
30 0
|
5月前
|
SQL 存储 分布式计算
spark执行sql的原理是什么
spark执行sql的原理是什么
92 1
|
5月前
|
分布式计算 算法 数据挖掘
Spark中的图计算库GraphX是什么?请解释其作用和常用操作。
Spark中的图计算库GraphX是什么?请解释其作用和常用操作。
66 1
|
5月前
|
分布式计算 资源调度 大数据
【大数据技术Hadoop+Spark】Spark架构、原理、优势、生态系统等讲解(图文解释)
【大数据技术Hadoop+Spark】Spark架构、原理、优势、生态系统等讲解(图文解释)
1315 1
|
5月前
|
存储 分布式计算 大数据
【大数据技术Hadoop+Spark】Spark RDD设计、运行原理、运行流程、容错机制讲解(图文解释)
【大数据技术Hadoop+Spark】Spark RDD设计、运行原理、运行流程、容错机制讲解(图文解释)
302 0
|
3月前
|
机器学习/深度学习 分布式计算 算法
Spark快速大数据分析PDF下载读书分享推荐
《Spark快速大数据分析》适合初学者,聚焦Spark实用技巧,同时深入核心概念。作者团队来自Databricks,书中详述Spark 3.0新特性,结合机器学习展示大数据分析。Spark是大数据分析的首选工具,本书助你驾驭这一利器。[PDF下载链接][1]。 ![Spark Book Cover][2] [1]: https://zhangfeidezhu.com/?p=345 [2]: https://i-blog.csdnimg.cn/direct/6b851489ad1944548602766ea9d62136.png#pic_center
124 1
Spark快速大数据分析PDF下载读书分享推荐
|
2月前
|
分布式计算 资源调度 大数据
【决战大数据之巅】:Spark Standalone VS YARN —— 揭秘两大部署模式的恩怨情仇与终极对决!
【8月更文挑战第7天】随着大数据需求的增长,Apache Spark 成为关键框架。本文对比了常见的 Spark Standalone 与 YARN 部署模式。Standalone 作为自带的轻量级集群管理服务,易于设置,适用于小规模或独立部署;而 YARN 作为 Hadoop 的资源管理系统,支持资源的统一管理和调度,更适合大规模生产环境及多框架集成。我们将通过示例代码展示如何在这两种模式下运行 Spark 应用程序。
165 3
下一篇
无影云桌面