Spark中rdd分区数量的决定因素

Posted hgc-bky

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spark中rdd分区数量的决定因素相关的知识,希望对你有一定的参考价值。

1、参数配置(并行度)
分区的默认个数等于对spark.default.parallelism的指定值
2、根据父rdd的reduceTask数量
3、读取hdfs的文件生成的rdd
rdd分区的数量等于hdfs的文件的block

4、sparkStreaming生成的rdd
根据block interval,batch interval的时间决定
default.block.interval=200ms
批次时间在sparkContext的参数中设定
partitions = batch interval / block interval
5、如果是将Driver端的Scala集合并行化创建RDD,并且没有指定RDD的分区,RDD的分区就是为该app分配的中的核数cores(–total-executor-cores),可以充分利用计算资源,提高并行度

技术图片

 

以上是关于Spark中rdd分区数量的决定因素的主要内容,如果未能解决你的问题,请参考以下文章

Spark基础学习笔记18:掌握RDD分区

RDD 中的分区数和 Spark 中的性能

SPARK之分区器

什么是 Spark RDD ?

原创大数据基础之Sparkspark读取文件split过程(即RDD分区数量)

RDD take()方法如何在内部工作?