Olá Vinícius, tudo bem?
As etapas de eliminação de pontuação, espaços em branco são realizadas com a .withColumn
que faz uma transformação direta em um objeto específico, no nosso caso a base de dados dados
, isso dificulta a padronização dos processos dentro de um pipeline.
Existe uma limitação também em relação as classes utilizadas nos estágios do pipeline, na documentação do spark o pipeline
é executado somente com classes que tenham fit
e transform
como métodos, as quais não são encontrados com em .withColumn
, regexp_replace
e trim
utilizadas aqui.
Por essas razões não é possível inserir essas etapas diretamente no pipeline, o ideal é realizar as transformação que utilizam pyspark.sql.functions
antes do pipeline. Pesquisando aqui, encontrei uma solução alternativa de uma implementação mais complexa, nesse artigo do medium o autor mostra que é possível criar uma classe que herdará o método de pipelines do spark e adiciona funções nessa nova classe para que seja incorporado como uma etapa do pipeline, mas eu confesso que essa última etapa eu não testei e deixei aqui como referência para seus estudos.
Espero ter ajudado.
bons estudos ;)