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

在Pyspark中,我可以从一个列表中创建一个RDD,并确定有多少个分区:

sc = SparkContext()
sc.parallelize(xrange(0, 10), 4)

我决定分区我的RDD的分区数量是如何影响性能的?
而这又如何取决于我的机器的核心数量?

主要的作用是指定太少的分区或太多的分区.

太少的分区您不会使用集群中可用的所有核心.

太多的分区管理许多小任务会有过多的开销.

两者之间的第一个对性能影响更大.计划太多的小任务在这一点上对分区计数低于1000是一个相对较小的影响.如果你有数万个分区的顺序,那么火花会很慢.

相关文章
相关标签/搜索