减少分区数可缩短执行时间

时间:2015-09-29 08:19:01

标签: scala apache-spark spark-graphx

我想看看我的程序的执行时间如何随着不同数量的分区而变化。我用一台8核和16GB RAM的机器来运行我的程序。当我创建图形边缘和顶点时,默认情况下spark使用8个分区(numPartitions),时间为11分钟。但是,当我减少分区数量(即sc.parallelize(edges, X))时,我得到以下结果:

X = 8 (default) -> time = 11 min
X = 4 -> time = 7.4 min
X = 2 -> time = 4.4 min
X = 1 -> time = 3.3 min

有人可以解释为什么会这样吗?另外,如果我在核心较少的机器上运行相同的程序,那么确定执行时间会减少吗?有没有机会保持不变?

0 个答案:

没有答案