Согласно официальным документам, «переменные широковещания позволяют программисту хранить переменную, доступную только для чтения, на каждой машине, а не отправлять ее копию с задачами»
Допустим, в моей команде spark-submit i дать -num-исполнителей как 10. Мой кластер представляет собой кластер из 2 узлов, и пока предположим, что 5 исполнителей запущены на узле 1, а следующие 5 исполнителей запущены на узле 2.
scala> val broadcastVar = sc.broadcast(Array(1, 2, 3))
broadcastVar: org.apache.spark.broadcast.Broadcast[Array[Int]] = Broadcast(0)
Согласно do c, будет ли доступен этот broadcastVar в памяти каждого исполнителя, то есть широковещательный интервал доступен в виде 10 копий?
или
Будет ли этот широковещательный доступ доступен в дисковой памяти каждого узла. Таким образом, каждый из двух узлов получает копию broadcastVar, и, следовательно, все исполнители, работающие с каждого узла, могут получить этот broadcastVar?