Spark Dataframe validando nomes de colunas para gravações em parquet (scala)

Estou processando eventos usando Dataframes convertidos de um fluxo de eventos JSON que, eventualmente, são gravados no formato Parquet.

No entanto, alguns dos eventos JSON contêm espaços nas chaves que eu quero registrar e filtrar / descartar esses eventos do quadro de dados antes de convertê-lo no Parquet porque, {} () \ n \ t = são considerados caracteres especiais no Parquet esquema (CatalystSchemaConverter) conforme listado em[1] abaixo e, portanto, não deve ser permitido nos nomes das colunas.

Como posso fazer essas validações no Dataframe nos nomes das colunas e eliminar esse evento completamente sem causar erro no trabalho do Spark Streaming.

[1] CatalystSchemaConverter da Spark

def checkFieldName(name: String): Unit = {
    // ,;{}()\n\t= and space are special characters in Parquet schema
    checkConversionRequirement(
      !name.matches(".*[ ,;{}()\n\t=].*"),
      s"""Attribute name "$name" contains invalid character(s) among " ,;{}()\\n\\t=".
         |Please use alias to rename it.
       """.stripMargin.split("\n").mkString(" ").trim)
  }

questionAnswers(4)

yourAnswerToTheQuestion