O que são transformações de dados em Databricks?

A transformação de dados é o processo de conversão, limpeza e estruturação de dados em um formato utilizável. As transformações de dados normalmente seguem a Databricks arquitetura do medalhão de refinamento incremental dos dados brutos em um formato consumível pela empresa.

O diagrama a seguir mostra um pipeline de dados contendo uma série de transformações de dados que transformam o raw_customers dataset no clean_customers dataset, eliminando dados do cliente sem nome de cliente neste exemplo. Os dados raw_transactions são transformados em clean_transactions eliminando transações com valor de zero dólar. O dataset resultante, chamado sales_report, é a união do clean_customers e do clean_transactions. O analista pode usar o site sales_report para analítica e Business Intelligence.

Exemplo de transformações de dados

Tipos de transformações de dados

A Databricks considera dois tipos de transformações de dados: declarativa e processual. O pipeline de dados no exemplo anterior pode ser expresso usando qualquer um dos paradigmas.

As transformações declarativas concentram-se no resultado desejado e não em como alcançá-lo. O senhor especifica a lógica das transformações usando abstrações de nível superior, e o site Delta Live Tables determina a maneira mais eficiente de executá-la.

As transformações de dados processuais concentram-se na realização de cálculos por meio de instruções explícitas. Esses cálculos definem a sequência exata de operações para manipular os dados. A abordagem processual fornece mais controle sobre a execução, mas ao custo de maior complexidade e maior manutenção.

Escolher entre transformações de dados declarativas e processuais

As transformações declarativas de dados usando o site Delta Live Tables são melhores quando o senhor está em uma situação em que não há necessidade de usar o site:

  • Você precisa de desenvolvimento e implantação rápidos.

  • Seu pipeline de dados tem padrões padrão que não exigem controle de baixo nível sobre a execução.

  • O senhor precisa de verificações integradas da qualidade dos dados.

  • Manutenção e legibilidade são as principais prioridades.

As transformações de dados procedimentais usando o código Apache Spark são melhores quando o senhor está em uma situação em que o código é mais adequado:

  • O senhor está migrando uma base de código existente do Apache Spark para a Databricks.

  • Você precisa de um controle refinado sobre a execução.

  • O senhor precisa ter acesso a APIs de baixo nível, como MERGE ou foreachBatch.

  • O senhor precisa gravar dados no Kafka ou em tabelas Delta externas.