Распределенный характер Apache Spark предполагает взаимодействие между компонентами, расположенными на разных узлах, например, драйвер на мастер-узле взаимодействует с исполнителями на рабочих узлах. В качестве протокола связи между процессами фреймворк использует удаленный вызов процедур (RPC, Remote Procedure Call). RPC реализует подход клиент-сервер, позволяя клиенту вызывать функции или процедуры на удалённом сервере так, будто они выполняются локально. RPC абстрагирует сетевое взаимодействие благодаря специальным программным конструкциям (stub, заглушка), которые предоставляют интерфейс, идентичный вызываемой удалённой функции, сериализуют параметры вызова процедуры в формат, подходящий для передачи по сети, отправляют сериализованные данные через сеть на сервер, получают ответ и десериализуют его. Клиентская заглушка формирует вызов функции, собирает параметры и отправляет их на сервер. Серверная заглушка принимает вызов, распаковывает параметры и передаёт их локальной реализации функции.