Size: a a a

2020 April 21

N

Nikolay in Moscow Spark
А может быть это ещё с тех времён , когда была akka для исполнения тасков
источник

ПФ

Паша Финкельштейн... in Moscow Spark
Nikolay
Когда вы делаете broadcast, то ровным счётом ничего не происходит. Создаётся врапер на драйвере и значения никуда не летят . На экзекьюторе , когда вы используете переменную , то он ее читает с драйвера
н уто есть летает, но отложенно :)
источник

ПФ

Паша Финкельштейн... in Moscow Spark
А, вон ты к чему — нету, собственно, принудительного пуша. Круто, не знал
источник

N

Nikolay in Moscow Spark
И пуша нет на все ноды .
источник

ПФ

Паша Финкельштейн... in Moscow Spark
То есть броадкаст — это "Уложить в KV store"
источник

AS

Andrey Smirnov in Moscow Spark
Nikolay
Ну да . Но тут нет никакого броадкаст. Броадкаст - это рассылка на все ноды. Такого нет и в помине. Это просто неудачное название
а как она попадает на ноды-то?
источник

N

Nikolay in Moscow Spark
Andrey Smirnov
а как она попадает на ноды-то?
При обращении к ней.
источник

N

Nikolay in Moscow Spark
Он тянет значение в момент обращения
источник

ПФ

Паша Финкельштейн... in Moscow Spark
Паша Финкельштейн
То есть броадкаст — это "Уложить в KV store"
this
источник

N

Nikolay in Moscow Spark
Сейчас по памяти скажу ,что там есть метод value. Вы когда обращаетесь к переменной , то он смотрит ,что не нет в локальной мэп и с  драйвера тянет и кладет в эту мапу
источник

AS

Andrey Smirnov in Moscow Spark
Nikolay
Он тянет значение в момент обращения
я понял твой поинт, что это не action, и что это имеет смысл только в слычае повторных обращений и т.д.
источник

N

Nikolay in Moscow Spark
Andrey Smirnov
я понял твой поинт, что это не action, и что это имеет смысл только в слычае повторных обращений и т.д.
И поит, что это не броадкаст , который делает широковещательные рассылки
источник

AS

Andrey Smirnov in Moscow Spark
но это все описано детально в документации

Spark actions are executed through a set of stages, separated by distributed “shuffle” operations. Spark automatically broadcasts the common data needed by tasks within each stage. The data broadcasted this way is cached in serialized form and deserialized before running each task. This means that explicitly creating broadcast variables is only useful when tasks across multiple stages need the same data or when caching the data in deserialized form is important.

After the broadcast variable is created, it should be used instead of the value v in any functions run on the cluster so that v is not shipped to the nodes more than once. In addition, the object v should not be modified after it is broadcast in order to ensure that all nodes get the same value of the broadcast variable (e.g. if the variable is shipped to a new node later).
источник

AS

Andrey Smirnov in Moscow Spark
Nikolay
И поит, что это не броадкаст , который делает широковещательные рассылки
возможно когда-то это был action, но с 1.6 (я с более ранними версиями не работал) у него такое поведение
источник

PK

Pavel Klemenkov in Moscow Spark
Nikolay
Он тянет значение в момент обращения
Я всегда думал, что broadcast через некий аналог p2p по экзекьюторам уходит, при чём пушом. Просто довольно бессмысленно иметь броадкаст объект в одном месте, ведь он с вероятностью 1 будет использован каждым экзекьютором. При чём его отсутствие блокирует таски
источник

PK

Pavel Klemenkov in Moscow Spark
источник

PK

Pavel Klemenkov in Moscow Spark
Вот ответ, Николай прав
источник

N

Nikolay in Moscow Spark
Pavel Klemenkov
Я всегда думал, что broadcast через некий аналог p2p по экзекьюторам уходит, при чём пушом. Просто довольно бессмысленно иметь броадкаст объект в одном месте, ведь он с вероятностью 1 будет использован каждым экзекьютором. При чём его отсутствие блокирует таски
Тут наверное вероятность близка к 1 , но  ее всегда 1.все таки можно представить случаи , когда не все экзекюторам это надо.
источник

PK

Pavel Klemenkov in Moscow Spark
Nikolay
Тут наверное вероятность близка к 1 , но  ее всегда 1.все таки можно представить случаи , когда не все экзекюторам это надо.
Согласен, не подумал про то, что броадкаст объект может быть и после шаффла использован
источник

AS

Andrey Smirnov in Moscow Spark
Pavel Klemenkov
Вот ответ, Николай прав
в документации это так и написано, просто без тех. деталей
источник