O foreachRDD é executado no driver?

Estou tentando processar alguns dados XML recebidos em uma fila JMS (QPID) usando o Spark Streaming. Depois de obter o xml como DStream, eu os converto em Dataframes para que eu possa juntá-los a alguns dos meus dados estáticos na forma de Dataframes já carregados. Mas, conforme a documentação da API do método foreachRdd no DStream: é executada no Driver, isso significa que toda a lógica de processamento será executada apenas no Driver e não será distribuída aos trabalhadores / executores.

Documentação da API

foreachRDD(func)

O operador de saída mais genérico que aplica uma função, func, a cada RDD gerado a partir do fluxo. Essa função deve enviar os dados em cada RDD para um sistema externo, como salvar o RDD em arquivos ou gravá-los na rede em um banco de dados. Observe que a função func é executada no processo do driver que está executando o aplicativo de streaming e geralmente terá ações de RDD que forçarão o cálculo dos RDDs de streaming.

questionAnswers(2)

yourAnswerToTheQuestion