Spark2.0

目录

10.3 Spark运行架构

10.3.1 基本概念

10.3.2 架构设计

​编辑

10.3.3 Spark运行基本流程

Spark运行架构特点


10.3 Spark运行架构

10.3.1 基本概念

RDD :是 Resillient Distributed Dataset (弹性分布式数据集)的简称,是分布式内存的一个抽象概念, 提供了一种高度受限的共享内存模型
DAG :是 Directed Acyclic Graph (有向无环图)的简称,反映 RDD 之间的依赖关系
Executor :是运行在工作节点( WorkerNode )的一个进程,负责运行 Task

Application :用户编写的 Spark 应用程序
Task :运行在 Executor 上的工作单元
Job :一个 Job 包含多个 RDD 及作用于相应 RDD 上的各种操作
Stage :是 Job 的基本调度单位,一个 Job 会分为多组 Task ,每组 Task 被称为 Stage ,或者也被称为 TaskSet ,代表了一组关联的、相互之间没有 Shuffle 依赖关系的任务组成的任务

10.3.2 架构设计

Spark 运行架构包括集群资源管理器( Cluster Manager )、运行作业任务的工作 节点 Worker Node )、每个应用的任务控制 节点 Driver )和每个工作节点上负责具体任务的执行进程( Executor 。其中,集群管理器 可以自带 使用 Mesos YARN 等资源管理框架。

Hadoop MapReduce计算框架相比,Spark所采用的Executor有两个优点:

Ø 一是利用多线程来执行具体的任务,减少任务的启动 开销。
Ø 二是 Executor 中有一个 BlockManager 存储模块,会将内存和磁盘共同作为存储设备,有效减少 IO 开销。
一个 Application 由一个 Driver 和若干个 Job 构成,一个 Job 由多个 Stage 构成,一个 Stage 由多个没有 Shuffle 关系的 Task 组成
当执行一个 Application 时, Driver 会向集群管理器申请资源,启动 Executor ,并向 Executor 发送应用程序代码和文件,然后在 Executor 上执行 Task ,运行结束后,执行结果会返回给 Driver 或者写到 HDFS 或者其他数据库

10.3.3 Spark运行基本流程

1)首先为应用构建起基本的运行环境,即由Driver创建一个SparkContext,进行资源的申请、任务的分配和监控

2)资源管理器为Executor分配资源,并启动Executor进程

3SparkContext根据RDD的依赖关系构建DAG图,DAG图提交给DAGScheduler解析成Stage,然后把一个个TaskSet提交给底层调度器TaskScheduler处理;ExecutorSparkContext申请TaskTask SchedulerTask发放给Executor运行,并提供应用程序代码

4TaskExecutor上运行,把执行结果反馈给TaskScheduler,然后反馈给DAGScheduler,运行完毕后写入数据并释放所有资源

Spark运行架构特点

总体而言,Spark运行架构具有以下特点:

1)每个Application都有自己专属的Executor进程,并且该进程在Application运行期间一直驻留。Executor进程以多线程的方式运行Task

2Spark运行过程与资源管理器无关,只要能够获取Executor进程并保持通信即可

3Task采用了数据本地性和推测执行等优化机制

数据本地 性,指的是尽量计算移动到数据所在的节点,即“计算向数据靠拢”,因为移动计算比移动数据比所占的网络资源要少的多。
Spark 还采用了延时调度机制,可以在更大程度上实现执行过程优化。比如数据节点当前正被其他的任务占用,那么在这种情况下是否需要将数据移动到其他的空闲节点上?不一定。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/864710.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

elasticsearch入门基本知识+使用案例

1、ES逻辑结构 索引-index:相当于db中的数据库名。索引命名规则:小写字母。 类型-type:相当于数据库中的表名,为具有相同字段的文档定义的一个类型。 字段-field:相当于表字段名,文档数据的属性…

C 标准库 - <stdio.h>

C 标准库 - <stdio.h> 概述 <stdio.h> 是 C 语言标准库中的一个头文件&#xff0c;它包含了用于输入输出操作的函数声明。这些函数主要用于处理文件读写、格式化输出、字符输入输出等操作。stdio.h 是 "standard input/output" 的缩写&#xff0c;它提…

【Llama 2的使用方法】

Llama 2是Meta AI&#xff08;Facebook的母公司Meta的AI部门&#xff09;开发并开源的大型语言模型系列之一。Llama 2是在其前身Llama模型的基础上进行改进和扩展的&#xff0c;旨在提供更强大的自然语言处理能力和更广泛的应用场景。 以下是Llama 2的一些关键特性和更新点&am…

git主机仓库地址迁移后 git提交代码报错

找到本地电脑的文件known_hosts 2.在代码中git pull 此时终端会有提示 输入ye enter提交便成功了

EasyExcel动态表头多sheet导出,单元格操作样式,自动修改单元格格式

EasyExcel动态表头多sheet导出,单元格操作样式,自动修改单元格格式 说明 EasyExcel是一款开源的Java库&#xff0c;用于读取、写入和操作Excel文件。它是阿里巴巴集团开发的一款高效、功能丰富且易于使用的Excel操作工具。 EasyExcel提供了简洁的API&#xff0c;使得读写Excel…

springboot个人证书管理系统-计算机毕业设计源码16679

摘要 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;管理信息系统的实施在技术上已逐步成熟。本文介绍了个人证书管理系统的开发全过程。通过分析个人证书管理系统管理的不足&#xff0c;创建了一个计算机管理个人证书管理系统的方案。文章介绍了个人证书管理系统的系…

豪掷5400亿,SK海力士加码部署AI赛道

KlipC报道&#xff1a;最新数据显示&#xff0c;韩国6月半导体出口额达到134亿美元&#xff08;约合人民币973亿元&#xff09;&#xff0c;同比增长50.9%。 KlipC分析师表示&#xff0c;这一数据超出市场预期&#xff0c;对于全球半导体产业链来说&#xff0c;是一则利好的消…

Redis 典型应用——缓存(缓存预热,穿透,雪崩,击穿)

一、缓存 缓存是计算机中一个很经典的概念&#xff0c;核心思路是把一些常用的数据放到访问速度更快的地方&#xff0c;方便随时读取&#xff1b; 但对于计算机硬件来说&#xff0c;往往访问速度越快的设备&#xff0c;成本越高&#xff0c;存储空间越小&#xff0c;缓存是更…

2024年【四川省安全员A证】试题及解析及四川省安全员A证模拟考试

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 四川省安全员A证试题及解析根据新四川省安全员A证考试大纲要求&#xff0c;安全生产模拟考试一点通将四川省安全员A证模拟考试试题进行汇编&#xff0c;组成一套四川省安全员A证全真模拟考试试题&#xff0c;学员可通…

前后端数据交互流程

一、前言 用户在浏览器访问一个网站时&#xff0c;会有前后端数据交互的过程&#xff0c;前后端数据交互也有几种的情况&#xff0c;一下就简单的来说明一下 二、原理 介绍前后端交互前先来了解一下浏览器的功能&#xff0c;浏览器通过渲染引擎和 JavaScript 引擎协同工作&am…

Java 判断两个日期 相差几天

// 入参 为 Date 例如 &#xff1a;Date1 datenew Date();long dayCount (date1.getTime() - date1.getTime()) / 86400000;

消息中间件常用命令

一、Nginx篇 1.1 启动Nginx start nginx 1.2 停止Nginx nginx.exe -s stop 1.3 清理缓存 nginx.exe -s reload 1.4 重新打开日志文件 nginx.exe -s reopen 1.5 查看Nginx版本 nginx -v 1.6 彻底停用Nginx taskkill /f /t /im nginx.exe

简明万年历编制(C语言)

简明万年历编制&#xff08;C语言 &#xff09; 编制万年历的要素&#xff1a; 农历公历对照&#xff0c;显示星期&#xff0c;农历干支年&#xff0c;当年生肖&#xff0c;国定节假日&#xff0c;寒天九九&#xff0c;暑日三伏&#xff0c;入梅出梅&#xff0c;节气时间&#…

回调函数在异步编程中的作用与实现方式

回调函数在异步编程中的作用与实现方式 大家好&#xff0c;我是微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01; 在计算机编程中&#xff0c;回调函数是指通过将函数作为参数传递给其他函数&#xff0c;使得该函数在特定事件…

使用 HTTPS 已成为网站的标配了

网站使用HTTPS的原因 背景&#xff1a;十年前&#xff0c;HTTPS并不普遍&#xff0c;但随着网络安全意识的提高&#xff0c;现在已成为网站标配。 网站升级到HTTPS的动机 安全问题&#xff1a;HTTP缺乏安全机制&#xff0c;易被窃取和篡改数据。例如&#xff0c;电信运营商劫…

剑神诀_单机架设_无需虚拟机_小白专用

前言 今天给大家带来一款单机游戏的架设&#xff1a;剑神诀&#xff0c;一键端 无需虚拟机 如今市面上的资源参差不齐&#xff0c;大部分的都不能运行&#xff0c;本人亲自测试&#xff0c;运行视频如下&#xff1a; 剑神诀 搭建教程 此游戏架设不需要安装虚拟机&#xff0c;…

单模光纤(SMF)市场规模不断增长 非色散位移单模光纤为其代表产品

单模光纤&#xff08;SMF&#xff09;市场规模不断增长 非色散位移单模光纤为其代表产品 单模光纤&#xff08;SMF&#xff09;指芯径为8-10微米&#xff0c;用于单一传输模式的光纤。单模光纤具有频带宽、芯径细、适合长距离传输、传输耗损低、抗干扰能力强、传输速度快等优势…

【java12】java12新特性之switch表达式

Java12引入了对switch语句的增强&#xff0c;允许在switch语句中使用表达式来代替传统的语句列表。这样可以使得代码更加简洁和易读。 switch表达式也是作为预览语言功能的第一个语言改动被引入新版Java中来的&#xff0c;这是一种引入新特性的测试版的方法。通过这种方式&…

MySQL实训项目——餐饮点餐系统

项目简介&#xff1a;餐饮点餐系统是一款为餐厅和顾客提供便捷点餐服务的在线平台。通过该系统&#xff0c;餐厅能够展示其菜单&#xff0c;顾客可以浏览菜品&#xff0c;并将其加入购物车或直接下单。系统还提供了订单管理功能&#xff0c;方便餐厅跟踪和处理顾客的订单。 1. …

IT启航:高考后的IT学习之旅与未来规划

随着高考分数的揭晓&#xff0c;你们即将迎来人生新的篇章。对于有志于踏入IT领域的你们来说&#xff0c;这个假期是开启探索之旅的绝佳时机。作为一位已经在社会大学摸爬滚打多年的牛马来说&#xff0c;我想从自己的经历和观察出发&#xff0c;给你们提供一些实质性的建议和学…