Spark

2023-10-29

1.Spark架构设计

1.1架构设计图

1.2 相关术语名词解释

1、RDD(Resillient Distributed DataSet)

弹性分布式数据集,是对数据集在Spark存储和计算过程中的一种抽象

是一组制度,可分区的分布式数据集和

一个RDD包含多个分区Partition(相当于MapReduce中的INputSplit),分区是依照一定的规则的,将具有相同规则的属性的数据记录放在一起

横向上课切分并行计算,以分区Partition为切分后的最小存储和计算单元。

纵向上可进行内外村切换使用,即当数据在内存不足时,可以用外存磁盘来补充

2、Partition(分区)

类似宇hadoop的Split,计算是以parititon为单位进行的,提供了一种划分数据的方式

parititon的划分依据有很多,常见的有Hash分区,范围分区等,也可以自己定义的,xiangHDFS文件,划分二点方式就和Map Reduce一样,以文件的block来划分不同的partition

一个partition交给一个task去计算处理

3、算子

英文简称:Operator简称op

广义上讲:对任何函数进行某一项操作都可以认为是一个算子

通俗上讲:算子即为映射。关系,变换

MapReduce算子,主要分为两个,极为map 和reduce两个主要操作的算子,导致灵活可用性比较差。

Spark算子,分为两大类,即为Transformation和Action类,合计有80多个

4、Transformation类算子

操作是延迟计算的,也就是说从一个RDD转换生成另一个RDD的转换操作不是马上执行,需要等到有Action操作的时候才会真正触发运算

细分类:

value数据类型的Transformation算子

Key-value数据类型的Transfromation算子

5、Action算子

会触发Spark提交作业(Job),并将数据输出Spark系统

6、窄依赖

如果一父RDD的每个分区只被子RDD的一个分区使用,一对一关系

7、宽依赖

如果一个父RDD的每个分区要被子RDD的多个分区使用  一对多关系

8Application

Spark Application 的概念和MapReduce中的Job或者Yarn中的applicaiton类似,指的是用户编写的Spark应用程序,包含了一个DRiver功能的代码和分布在汲取中多个节点上运行的EXecutor代码

一般是值曾哥Spark项目从开发、测试、部署、运行的全部

9、DRiver

运行main函数并且创建SparkContext的程序

称为驱动程序,Driverprofram类似于hadoop的wordcount程序中的driver的main函数

10、Clustermanager

几群的资源管理器,在集群上获取资源的服务,如Yarn,Mesos Spark Standalone

11\WorkerNode

集群中任何一个可以运行spark应用代码的节点

12、Executor

Application运行在worker节点上的一个进程,该进程负责运行Task并且负责将数据存在内存或者磁盘上,每个Application都有各自独立专项的一批Executor

Executor即为park概念的的资源容器,类比于yarn的container容器,真正承载Task的运行与管理,以多线程的方式运行Task,更加高效快速。

13、Task

与 Hadoop中MapTask或者ReduceTask是类同

分配到Executor上的基本工作单元,执行实际的计算任务

Task 分为两类,即为 ShuffleMapTask 和 ResultTask。  ShuffleMapTask:即为 Map 任务和发生 Shuffle 的任务的操作,由 Transformation 操作组成,其输出结果是为下个阶段任务 (ResultTask)进行做准备,不是最终要输出的结果。  ResultTask:即为 Action 操作触发的 Job 作业的最后一个阶段任 务,其输出结果即为 Application 最终的输出或存储结果。

14、Job(作业) o Spark RDD 里的每个 action 的计算会生成一个 job。 o 用户提交的 Job 会提交给 DAGScheduler(Job 调度器),Job 会被分解 成 Stage 去执行,每个 Stage 由一组相同计算规则的 Task 组成,该组 Task 也称为 TaskSet,实际交由 TaskScheduler 去调度 Task 的机器执 行节点,最终完成作业的执行。 

15、Stage(阶段) o Stage 是 Job 的组成部分,每个 Job 可以包含 1 个或者多个 Stage。 o Job 切分成 Stage 是以 Shuffle 作为分隔依据,Shuffle 前是一个 Stage,Shuffle 后是一个 Stage。即为按 RDD 宽窄依赖来划分 Stage。 o 每个 Job 会被拆分很多组 Task,每组任务被称为 Stage,也可称 TaskSet,一个作业可以被分为一个或多个阶段

2.1运行模式

 2.2用户交互模式

 2spark-submit

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spark 的相关文章

随机推荐

  • RS485主从式多机通讯协议

    RS485主从式多机通讯协议一 数据传输协议 此协议定义了一个控制器能认识使用的消息结构 而不管它们是经过何种网络进行通信的 它描述了一控制器请求访问其它设备的过程 如何回应来自其它设备的请求 以及怎样侦测错误并记录 它制定了消息域格局和内
  • 车载LED 舞台灯 备用灯 智能过热调节降压恒流芯片NS4116

    车载LED是一种在汽车和其他交通工具中广泛使用的照明技术 车载LED具有许多优点 使其成为汽车照明系统的流行选择 关于车载LED的一些重要信息 高亮度和能效 车载LED灯具有高亮度 能够产生明亮 清晰的光线 同时具有较低的能耗 这使得它们比
  • 用ChatGPT编写测试大纲和测试用例

    问 当用户未支付时 不需要数据上报 当用户支付成功时 需要数据上报 请以这个逻辑帮我写测试用例 ChatGPT 好的 根据您提供的逻辑 我可以为您列出一些测试用例 1 确认在用户未支付时 不会产生数据上报 2 测试在用户支付成功后 数据是否
  • 公安交管工作数字化转型存在的问题及对策建议

    近年来 数字中国 交通强国 数字政府 等关键词密集出现在党和国家层面的各种会议 文件 报告和规划中 特别是在党的二十大报告中 明确提出加快建设 数字中国 和 交通强国 2023年初 又先后印发了 数字中国建设整体布局规划 和批准组建国家数据
  • ps 命令查看进程下的线程及线程状态

    ps 命令查看进程下的线程及线程状态 查看java所有线程 ps eLf grep java 查看进程下的所有线程cpu利用率 top H p 25120 其中25120为Java进程号 下图红色标注的地方为线程状态 其中总数为28 当前运
  • Windows 32位、64位 Android Studio 解压版安装及SDK配置

    android studio最新版只有64位可以直接安装 不用配置 32位只能解压后自己安装SDK并配置 android studio需要安装jdk才能运行 我的jdk已经配置好 可以通过在cmd中输入java version检查jdk是否
  • CH5-数据存储

    文章目录 目标 一 数据存储方式 目标 1 1 数据存储方式 二 文件存储 目标 2 1 将数据存入文件中 内部存储 外部存储 2 2 从文件中读取数据 内部存储 外部存储 申请SD卡写文件的权限 2 3 实战演练 保存QQ账号与密码 三
  • linux网络名字空间介绍

    1 什么是网络名字空间 what are network namespaces Generally speaking an installation of Linux shares a single set of network inter
  • sockjs-node请求一直报错

    今天在运行本地项目时候 一直提示sockjs node info 请求失败 我一直在想本地并没有这个请求接口 这个是哪里来的 后来经过查阅资料发现 sockjs node 是一个JavaScript库 提供跨浏览器 JavaScript 的
  • 蓝桥杯省赛2021 回路计数 python

    题目描述 蓝桥学院由 21栋教学楼组成 教学楼编号 1 到 21 对于两栋教学楼 a 和 b 当 a 和 b 互质时 a和 b之间有一条走廊直接相连 两个方向皆可通行 否则没有直接连接的走廊 小蓝现在在第一栋教学楼 他想要访问每栋教学楼正好
  • python实现onvif客户端及问题小结

    python实现onvif客户端及问题小结 文章目录 python实现onvif客户端及问题小结 1 前言 2 python onvif安装及ptz示例 2 1 openwrt下安装pip及python onvif 2 2 ptz示例 3
  • 公众号一次性订阅消息

    洛塔服务号回复007获取代码 功能说明 之前发布通知 要用订阅通知替代一次性订阅消息 不知道是被骂的太惨还是技术原因 一次性订阅消息还是一直能用 和模板消息不同的是 一次性订阅消息无需用户关注公众号 但是必须用户点击同意发送才能接收消息 模
  • 面试被问Spring Boot自动配置原理,答不出来?

    我们知道 Spring Boot 项目创建完成后 即使不进行任何的配置 也能够顺利地运行 这都要归功于 Spring Boot 的自动化配置 Spring Boot 默认使用 application properties 或 applica
  • 1.7 C++ struct class

    c 中 struct 内可以定义函数 c不可以 定义时 可以省略struct关键字 可以对成员加入访问权限 private protected public 如何对private和protected 进行外部赋值和访问 set 和get方法
  • selenium跳转新页面定位

    1 获取当前页面 跳转过来的页面 句柄 self driver window handles 1 2 切换窗口 self driver switch to window self driver window handles 1 3 sele
  • C语言二维数组作为形参传递问题

    问题 今天想用一个二维字符串数组保存字符串 在参数传递过程中发现返回的结果不对 上网一搜 发现二维数组作为形参传递不像一维数组那么简单 请看以下详细分析 异常代码 int StrCut char pinput char ppOut char
  • 1477 找两个和为目标值且不重叠的子数组

    题目描述 给你一个整数数组 arr 和一个整数值 target 请你在 arr 中找 两个互不重叠的子数组 且它们的和都等于 target 可能会有多种方案 请你返回满足要求的两个子数组长度和的 最小值 请返回满足要求的最小长度和 如果无法
  • Linux/Windows备份数据库

    使用场景基于SpringBoot 简单的记录下 比较粗糙 工具类 public static int backupMysql String host String root String pwd String dbName String b
  • 如何在 Linux 上安装、启动和卸载 Lotus Notes 8.5

    http tech ddvip com 2010 04 1271908410152075 html 安装之前的准备工作 在 Linux 客户机上安装 IBM Lotus Notes 8 5 之前 应了解以下信息 客户机配置要求 表 1 No
  • Spark

    1 Spark架构设计 1 1架构设计图 1 2 相关术语名词解释 1 RDD Resillient Distributed DataSet 弹性分布式数据集 是对数据集在Spark存储和计算过程中的一种抽象 是一组制度 可分区的分布式数据