Impacto no desempenho da API RDD vs UDFs combinada com a API DataFrame

(Pergunta específica da Scala.)

Embora os documentos do Spark incentivem o uso da API do DataFrame sempre que possível, se a API do DataFrame for insuficiente, a escolha geralmente é entre voltar à API RDD ou usar UDFs. Existe diferença de desempenho inerente entre essas duas alternativas?

RDD e UDF são semelhantes, pois nenhum deles pode se beneficiar das otimizações de catalisador e tungstênio. Existe alguma outra sobrecarga e, se houver, difere entre as duas abordagens?

Para dar um exemplo específico, digamos que eu tenha um DataFrame que contenha uma coluna de dados de texto com formatação personalizada (não passível de correspondência de regexp). Eu preciso analisar essa coluna e adicionar uma nova coluna de vetor que contém os tokens resultantes.

questionAnswers(1)

yourAnswerToTheQuestion