Как прочитать значение аккумуляторов в рабочем задании в спарк?
Согласно документации аккумуляторов в искре:
Обратите внимание, что задачи на рабочих узлах не могут получить доступ к значению аккумулятора () - с точки зрения этих задач аккумуляторы являются переменными только для записи. Это позволяет эффективно внедрять аккумуляторы, не сообщая о каждом обновлении.
Аккумуляторы - переменная только для записи для рабочих узлов.
Есть ли способ, которым мы можем прочитать значение аккумулятора в рабочем узле и использовать его значение для некоторой бизнес-логики?
1 ответ
Представьте, что у вас есть 5 друзей (задач) в 5 странах (узлах). Вы попросили их положить (записать) случайное количество долларов каждое случайное количество секунд на ближайший стол (аккумулятор). Затем вы также попросили каждого друга рассчитать (прочитать) общее количество долларов из всех таблиц, каждое случайное количество секунд, параллельно с предыдущим заданием. Таким образом, чтобы сделать что-то подобное, каждому другу нужно будет позвонить остальным друзьям и спросить номер, а также попросить их прекратить ставить доллары на столы, пока все 5 друзей не синхронизируются. Или.. номер будет неточным.