RDD 的分区和 shuffle 创建 RDD 时指定分区数 | 学习笔记

简介: 快速学习 RDD 的分区和 shuffle 创建 RDD 时指定分区数

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

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


RDD 的分区和 shuffle 创建 RDD 时指定分区数


内容介绍

一、本节框架

二、通过本地集合时指定分区数

三、通过读取文件时指定分区数

 

一、本节框架

学习指定 RDD 的分区,在创建 RDD 指定。

创建 RDD 的三种方式:

1.通过本地集合创建

2.通过读取外部系统的文件创建

3.其他 RDD 的衍生,通过算子进行指定。

讨论指定 RDD 的分区方式:

1)通过本地集合时指定分区数

2)通过读取文件时指定分区数

进入 shell 窗口,通过命令:

bin/spark-shell --master local[6]  //指定6个线程数

进入 spark

image.png


二、通过本地集合时指定分区数

编写命令:

scala> val rdd1 = sc.parallelize(Seq(134567)3)

//通过 parallelize 方法创建集合时,parallelize有两个参数:第一个是集合,第二个是分区数 。比如说指定一个3作为分区数

rdd1.partitions.size //通过 size 查看到分区数。

image.png

rdd1.partitions//包含三个分区。

image.png

第一个分区:Array[org.apache.spark.Partition]=Array(org.apache.spark.rdd.ParallelCollectionPartition@691,

第二个分区:

org. apache. spar k.rdd.ParallelCollectionPartition@692

第三个分区:

org.apache.spark.rdd.ParallelCollectionPartition@693

 

三、通过读取文件时指定分区数

再去创建一个rdd2:

rdd2=sc.textFile("hdfs://node01:8020/dataset/wordcount.txt, 6)//手动指定分区。通过 textFile 方法创建 RDD 。通过读取 hdfs 上的文件 wordcount.txt 来创建。

此处也有2个参数,但是这里的分区数指定的最小的分区数,所以真实的分区数比指定的多 。

rdd2.partitions.size//真实的分区数比指定的多  

image.png

这是2种创建 RDD 指定分区的方式。

相关文章
|
5月前
|
存储 缓存 分布式计算
Spark学习--day04、RDD依赖关系、RDD持久化、RDD分区器、RDD文件读取与保存
Spark学习--day04、RDD依赖关系、RDD持久化、RDD分区器、RDD文件读取与保存
|
5月前
|
分布式计算 Hadoop 大数据
Spark 【分区与并行度】
Spark 【分区与并行度】
|
5月前
|
分布式计算
MapReduce【自定义分区Partitioner】
MapReduce【自定义分区Partitioner】
|
存储 SQL 弹性计算
Spark RDD 机制理解吗?RDD 的五大属性,RDD、DataFrame、DataSet 三者的关系,RDD 和 DataFrame 的区别,Spark 有哪些分区器【重要】
Spark RDD 机制理解吗?RDD 的五大属性,RDD、DataFrame、DataSet 三者的关系,RDD 和 DataFrame 的区别,Spark 有哪些分区器【重要】
974 0
|
分布式计算 并行计算 Spark
|
分布式计算 Spark 开发者
RDD 处理和操作
RDD 处理和操作
114 0
|
分布式计算 大数据 Shell
RDD 的分区和 Shuffle 查看分区 | 学习笔记
快速学习 RDD 的分区和 Shuffle 查看分区
106 0
RDD 的分区和 Shuffle 查看分区 | 学习笔记
|
存储 缓存 分布式计算
RDD 的分区和 Shuffle 介绍 | 学习笔记
快速学习 RDD的分区和Shuffle介绍
RDD 的分区和 Shuffle 介绍 | 学习笔记
|
分布式计算 大数据 Spark
RDD 的分区和 Shuflee_通过其他算子指定分区数 | 学习笔记
快速学习 RDD 的分区和 Shuflee_通过其他算子指定分区数
RDD 的分区和 Shuflee_通过其他算子指定分区数 | 学习笔记
|
分布式计算 大数据 Scala
RDD 的分区和 Shuflee_通过算子重分区 | 学习笔记
快速学习 RDD 的分区和 Shuflee_通过算子重分区
RDD 的分区和 Shuflee_通过算子重分区 | 学习笔记