IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Spark中RDD的依赖和DAG的生成 -> 正文阅读

[大数据]Spark中RDD的依赖和DAG的生成

1、RDD之间的依赖类型

窄依赖(NorrawDependency)

父RDD的一个分区的数据,是给到子rdd的一个分区使用,这种依赖关系就是窄依赖。窄依赖指的是父RDD的一个分区,被子RDD的一个分区所依赖(一对一)。

map,flatMap,filter 都是窄依赖,union 也是窄依赖。

分为宽依赖(WideDependency)

父RDD的一个分区的数据,是给到子rdd的多个分区使用,那么就是宽依赖。

一旦有宽依赖,在这里会发生数据的shuffle,会切分stage(阶段)。

sortBy,reduceByKey,aggregate都是宽依赖

注意:

某些特殊的算子如join,默认情况下,是宽依赖。但是在特殊情况下,join是一个窄依赖。

俩个条件:1分区数量一致 2根据key的reduceByKey或groupBykey等算子计算后进行join。

join得到的分区数量,以左右两边rdd的分区数量的最大值为准。

2、DAG的生成

DAG:有向无环图。

方向:RDD的依赖关系,有父子关系。

无环:从读取hdfs开始,到写入到hdfs上,没有闭环。

图:点+边

点:RDD

边:表示rdd的依赖关系

stage的划分:

Spark任务会根据RDD之间的依赖关系,形成一个DAG有向无环图,DAG会提交给DAGScheduler,DAGScheduler会把DAG划分相互依赖的多个stage,划分stage的依据就是RDD之间的宽窄依赖。遇到一个宽依赖就划分一个stage,每个stage包含一个或多个task任务。然后将这些task以taskSet的形式提交给TaskScheduler运行。
stage的个数=宽依赖的个数+1

注意:

stage中的并行度由一个Stage中finalRDD(最后一个RDD)中的partition的个数决定。

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-04-30 08:47:05  更:2022-04-30 08:47:54 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 0:39:23-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码