【SPARK】- RDD分区

RDD是弹性分布式数据集,通常RDD很大,会被分成很多分区,分别保存在不同节点上

分区原则

RDD分区是使分区的个数尽量等于集群中的CPU核心数目

默认分区数

对于不同的Spark部署模式而言(本地模式、Standalone模式、YARN模式、Mesos模式),都可以通过设置spark.default.parallelism这个参数的值来配置默认分区数。

本地模式:默认为本地机器的CPU数目,若设置了local[N],则默认为N

Mesos:默认分区数为8

Standalone/YARN:在“集群中所有CPU核心数目总和”和“2”二者中较大值作为默认值

如何手动设置分区

(1)创建RDD时:在调用textFile和parallelize方法时候手动指定分区个数,sc.textFile(path,partionNum)

对于parallelize而言,如果没有在方法中指定分区数,则默认为spark.default.parallelism

对于textFile而言,如果没有在方法中指定分区,则默认为min(defaultParallelism,2),其中defaultParallelism对应的就是spark.default.parallelism

(2)通过转换操作得到新RDD时:直接调用reparation方法

如果是从HDFS中读取文件,则分区数为文件分片数(比如,128MB/片)

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

肚子饿没人理

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值