RDD 的分区和 Shuffle 介绍 | 学习笔记

简介: 快速学习 RDD的分区和Shuffle介绍

开发者学堂课程【大数据 Spark2020最新课程(知识精讲与实战演练)第二阶段RDD 的分区和 Shuffle 介绍学习笔记,与课程紧密联系,让用户快速学习知识。

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


RDD 的分区和 Shuffle 介绍


内容介绍

一、RDD 特性

二、分区的作用

三、分区和 Shuffle 的关系

四、Spark 中的 Shuffle 操作的特点

 

一、RDD 特性

RDD 的分区和 Shuffle 的过程(Shuffle 过程依托 RDD 的分区实现)

RDD 的缓存

RDD CheckpointCheckpoint 是一个重要,增进性能的手段)

通过第一部分希望大家能够了解 RDD 的分区是怎么样的,分区该怎么操作,分区怎么去增大,怎么去减少,怎么去重分区。

 

二、分区的作用

1.  RDD 经常需要通过读取外部系统的数据来创建,外部存储系统往往是支持分片的,外部存储与大数据平台配合使用,所存储的数据量特别大,单击存不下,故支持分片。

分片侧重存储,分区侧重计算,RDD 需要支持分区,来和外部系统的分片--对应。处理外部系统的文件。

例:sc 里有方法 textfile,经常读取外部系统的数据来创建 RDD

2.  RDD 的分区是一个并行计算的实现手段

 

三、分区和 Shuffle 的关系

他们并没有关系,一个 Shuffle 是计算转存的一个过程,随机分组的过程,分区是数据集本身。所以他们并没有直接关系,但是 RDD 的分区和 Shuffle 也有关系。

Shuffle 如果想要实现,是多个分区之间进行数据的拷贝。比如 PDD 有三个分区,现在要把他 Shuffle 到另 RDD 当中,这个 RDD 有两个分区,他们之间关系如下图:

image.png

相关文章
|
8月前
|
分布式计算
29 MAPREDUCE中的分区Partitioner
29 MAPREDUCE中的分区Partitioner
37 0
|
2月前
|
存储 缓存 分布式计算
Spark学习--day04、RDD依赖关系、RDD持久化、RDD分区器、RDD文件读取与保存
Spark学习--day04、RDD依赖关系、RDD持久化、RDD分区器、RDD文件读取与保存
|
2月前
|
分布式计算
MapReduce【Shuffle-Combiner】
MapReduce【Shuffle-Combiner】
|
12月前
|
分布式计算 算法 Java
Spark shuffle、RDD 算子【重要】
Spark shuffle、RDD 算子【重要】
253 0
|
12月前
|
分布式计算 数据处理 Spark
RDD 中 groupByKey 和 reduceByKey 哪个性能好,为什么?
RDD 中 groupByKey 和 reduceByKey 哪个性能好,为什么?
86 0
|
12月前
|
分布式计算
|
分布式计算 并行计算 Spark
|
分布式计算 Spark 开发者
RDD 处理和操作
RDD 处理和操作
98 0
|
分布式计算 大数据 Shell
RDD 的分区和 Shuffle 查看分区 | 学习笔记
快速学习 RDD 的分区和 Shuffle 查看分区
86 0
RDD 的分区和 Shuffle 查看分区 | 学习笔记
|
分布式计算 大数据 Shell
RDD 的分区和 shuffle 创建 RDD 时指定分区数 | 学习笔记
快速学习 RDD 的分区和 shuffle 创建 RDD 时指定分区数
79 0
RDD 的分区和 shuffle 创建 RDD 时指定分区数 | 学习笔记

热门文章

最新文章

  • 1
    流量控制系统,用正则表达式提取汉字
    27
  • 2
    Redis09-----List类型,有序,元素可以重复,插入和删除快,查询速度一般,一般保存一些有顺序的数据,如朋友圈点赞列表,评论列表等,LPUSH user 1 2 3可以一个一个推
    27
  • 3
    Redis08命令-Hash类型,也叫散列,其中value是一个无序字典,类似于java的HashMap结构,Hash结构可以将对象中的每个字段独立存储,可以针对每字段做CRUD
    27
  • 4
    Redis07命令-String类型字符串,不管是哪种格式,底层都是字节数组形式存储的,最大空间不超过512m,SET添加,MSET批量添加,INCRBY age 2可以,MSET,INCRSETEX
    28
  • 5
    S外部函数可以访问函数内部的变量的闭包-闭包最简单的用不了,闭包是内层函数+外层函数的变量,简称为函数套函数,外部函数可以访问函数内部的变量,存在函数套函数
    25
  • 6
    Redis06-Redis常用的命令,模糊的搜索查询往往会对服务器产生很大的压力,MSET k1 v1 k2 v2 k3 v3 添加,DEL是删除的意思,EXISTS age 可以用来查询是否有存在1
    31
  • 7
    Redis05数据结构介绍,数据结构介绍,官方网站中看到
    23
  • 8
    JS字符串数据类型转换,字符串如何转成变量,+号只要有一个是字符串,就会把另外一个转成字符串,- * / 都会把数据转成数字类型,数字型控制台是蓝色,字符型控制台是黑色,
    21
  • 9
    JS数组操作---删除,arr.pop()方法从数组中删除最后一个元素,并返回该元素的值,arr.shift() 删除第一个值,arr.splice()方法,删除指定元素,arr.splice,从第一
    21
  • 10
    定义好变量,${age}模版字符串,对象可以放null,检验数据类型console.log(typeof str)
    20