Количество заданий за этап в Spark - PullRequest
0 голосов
/ 07 апреля 2019

Я тестирую приложение PageRank с использованием GraphX. Вот соответствующий код моего искрового приложения.

val g: Graph[Int, Int] = GraphLoader.edgeListFile(
  sc,
  path,
  edgeStorageLevel = StorageLevel.MEMORY_AND_DISK,
  vertexStorageLevel = StorageLevel.MEMORY_AND_DISK
)

var strategy = PartitionStrategy.fromString("RandomVertexCut")
val gp = g.partitionBy(strategy, numPartitions)

println("Starting PageRank")
val ranks_init = gp.pageRank(0.0001).vertices

Я устанавливаю numPartitions на 8. Если я вижу Spark UI, чтобы наблюдать за заданиями и задачами для моего приложения. Вот что я вижу: enter image description here

Для каждого задания, помеченного как fold at ..., вот этапы, которые я вижу: enter image description here

Я ожидал бы, что на всех этапах будет 8 задач, поскольку я установил число разделов на 8. Однако, кроме одного этапа, на каждом другом этапе есть только 2 задачи. Почему это так?

Примечание. Номера строк, относящиеся к исходным файлам scala, отображаемым в пользовательском интерфейсе, могут отличаться для основной базы кода искры, поскольку я изменил некоторые файлы scala GraphX, чтобы добавить функцию getPreferredLocations в VertexRDD и EdgeRDD.

...