Compartilhar via


O que é a transformação de dados no Azure Databricks?

A transformação de dados é o processo de conversão, limpeza e estruturação de dados em um formato utilizável. A transformação de dados normalmente segue a arquitetura Databricks medalhão de refinar incrementalmente 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 conjunto de dados raw_customers no conjunto de dados clean_customers descartando dados de clientes sem nome de cliente neste exemplo. Os dados raw_transactions são transformados em clean_transactions ao descartar transações com um valor zero em dólares. Um conjunto de dados resultante chamado sales_report é a junção do clean_customers e clean_transactions. Os analistas podem usar sales_report para análises e business intelligence.

Exemplo de transformação de dados

Tipos de transformações de dados

O 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 se concentram no resultado desejado e não em como alcançá-lo. Você especifica a lógica da transformação usando abstrações de nível superior e a DLT determina a maneira mais eficiente de executá-la.

As transformações de dados processuais concentram-se na realização de cálculos através de instruções explícitas. Esses cálculos definem a sequência exata de operações para manipular os dados. A abordagem processual proporciona um maior controlo sobre a execução, mas à custa de uma maior complexidade e de uma maior manutenção.

Escolher entre transformação de dados declarativa e processual

A transformação declarativa de dados usando DLT é melhor quando:

  • Você precisa de desenvolvimento e implantação rápidos.
  • Seus pipelines de dados têm padrões padrão que não exigem controle de baixo nível sobre a execução.
  • Você precisa de verificações de qualidade de dados integradas.
  • A manutenção e a legibilidade são as principais prioridades.

A transformação de dados processuais usando o código Apache Spark é melhor quando:

  • Você está migrando uma base de código existente do Apache Spark para o Databricks.
  • Você precisa de um controle refinado sobre a execução.
  • Você precisa de acesso a APIs de baixo nível, como MERGE ou foreachBatch.
  • Você precisa gravar dados em Kafka ou tabelas Delta externas.