2019-02-25
阅读量:
808
spark 分区数是怎么设定?
spark 分区数是怎么设定?
答:
如果在spark-default.conf中没有显示设置的话。会按照不同模式给不同的默认分区数。(spark.default.parallelism)
对于local[N]模式,因为开辟了N个线程,所以有N个core,也就默认分区为N。如果单用local那么只会开起一个分区。
如果是伪分布模式,local-cluster[x,y,z] 那么默认分区是x*y,x代表的是运行的executor数量,y是每个executor有多少个core。
如果是yarn或者是standalone模式。是用的函数max(x*y,2)前者的含义和伪分布一样,后者表示如果x*y<2,分区就取2。
在程序读取创建RDD的时候,一般会用textFile,这个函数可以读取本地或者是hdfs的文件。分区数为
rdd的分区数 = max(本地file的分片数, sc.defaultMinPartitions)
rdd的分区数 = max(hdfs文件的block数目, sc.defaultMinPartitions)






评论(0)


暂无数据
推荐帖子
0条评论
1条评论
0条评论