Я полагаю, вы говорите о применении этих функций к RDD или Dataset.Ничто не приходит к водителю в любом случае.Весь код выполняется в исполнителе.foreach - это действие, которое ничего не возвращает, тогда как map () действует как преобразователь из одного значения в другое.
def foreach (f: (T) ⇒ Unit): Unit Применяет функцию f ко всем элементам этого RDD.
foreach (func) Запускает функцию func для каждого элемента набора данных,Обычно это делается для побочных эффектов, таких как обновление Аккумулятора или взаимодействие с внешними системами хранения.Примечание. Изменение переменных, отличных от Accumulators, вне функции foreach () может привести к неопределенному поведению.См. Понимание замыканий для получения дополнительной информации.
def map [U] (f: (T) ⇒ U) (неявный arg0: ClassTag [U]): RDD [U] Возврат нового RDD путем применения функции квсе элементы этого СДР.