ForeachRDD выполняется на драйвере?

Я пытаюсь обработать некоторые данные XML, полученные в очереди JMS (QPID), используя потоковую передачу Spark. После получения XML в качестве DStream я преобразую их в Dataframes, чтобы я мог соединить их с некоторыми из моих статических данных в виде уже загруженных Dataframes. Но согласно документации API для метода foreachRdd в DStream: он исполняется в драйвере, поэтому это означает, что вся логика обработки будет работать только в драйвере и не будет распространяться среди работников / исполнителей.

Документация по API

foreachRDD(func)

Наиболее общий оператор вывода, который применяет функцию func к каждому RDD, сгенерированному из потока. Эта функция должна передавать данные в каждом СДР во внешнюю систему, например сохранять СДР в файлы или записывать их по сети в базу данных. Обратите внимание, что функция func выполняется в процессе драйвера, выполняющем потоковое приложение, и обычно содержит действия RDD, которые вызывают вычисление потоковых RDD.

Ответы на вопрос(2)

Ваш ответ на вопрос