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),可以充分利用计算资源,提高并行度