パーティションの数が異なると、プログラムの実行時間がどのように変化するかを確認したいと考えています。プログラムを実行するために、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
誰かがなぜそれが起こるのか説明できますか? また、コア数の少ないマシンで同じプログラムを実行すると、実行時間は確実に減りますか? 同じままでいる可能性はありますか?