Visão geral das práticas recomendadas no Dataform

Este documento mostra uma visão geral das práticas recomendadas para gerenciar o tamanho do repositório, a estrutura do repositório e o ciclo de vida do código no Dataform.

Práticas recomendadas para o tamanho do repositório

O tamanho do repositório afeta vários aspectos do desenvolvimento no Dataform, como:

  • Colaboração
  • Legibilidade da base de código
  • Processos de desenvolvimento
  • Compilação do fluxo de trabalho
  • Execução do fluxo de trabalho

O Dataform aplica cotas e limites de API em recursos de compilação. O tamanho grande do repositório pode fazer com que ele exceda essas cotas e limites. Isso pode levar a falhas na compilação e execução do fluxo de trabalho SQL.

Para reduzir esse risco, recomendamos dividir repositórios grandes. Ao dividir um repositório grande, você divide um fluxo de trabalho SQL grande em vários fluxos de trabalho SQL menores armazenados em repositórios diferentes e conectados por dependências entre repositórios.

Essa abordagem permite aderir às cotas e aos limites do Dataform, aos processos e permissões detalhadas e melhorar a legibilidade e a colaboração da base de código. No entanto, o gerenciamento de repositórios divididos pode ser mais desafiador do que o de um único repositório.

Para saber mais sobre o impacto do tamanho do repositório no Dataform e as práticas recomendadas para dividir repositórios, consulte Dividir repositórios.

Práticas recomendadas para a estrutura do repositório

Recomendamos estruturar os arquivos no diretório definitions para refletir os estágios do fluxo de trabalho. Lembre-se de que você pode adotar uma estrutura personalizada que melhor se adapte às suas necessidades.

A estrutura recomendada de subdiretórios definitions a seguir reflete as principais etapas da maioria dos fluxos de trabalho SQL:

  • sources, armazenando declarações de origem de dados
  • intermediate, que armazena a lógica de transformação de dados
  • output, que armazena definições de tabelas de saída
  • Opcional: extras, que armazena arquivos adicionais

Os nomes de todos os arquivos no Dataform precisam estar em conformidade com as diretrizes de nomenclatura de tabelas do BigQuery. Recomendamos que os nomes dos arquivos no diretório definitions em um repositório do Dataform reflitam a estrutura de subdiretórios.

Para saber mais sobre as práticas recomendadas para estruturar e nomear arquivos em um repositório, consulte Como estruturar o código em um repositório.

Práticas recomendadas para o ciclo de vida do código

O ciclo de vida padrão do código no Dataform consiste nas seguintes fases:

Para gerenciar o ciclo de vida do código no Dataform, crie ambientes de execução, como desenvolvimento, preparação e produção.

Para saber mais sobre o ciclo de vida do código no Dataform, consulte Introdução ao ciclo de vida do código no Dataform.

Você pode manter seus ambientes de execução em um único repositório ou em vários.

Ambientes de execução em um único repositório

É possível criar ambientes de execução isolados, como desenvolvimento, preparação e produção, em um único repositório do Dataform com substituições de compilação do espaço de trabalho e configurações de versão.

É possível criar ambientes de execução isolados das seguintes maneiras:

  • Dividir as tabelas de desenvolvimento e produção por esquema
  • Dividir as tabelas de desenvolvimento e produção por esquema e projeto do Google Cloud
  • Dividir as tabelas de desenvolvimento, preparação e produção por projeto do Google Cloud

Depois, você pode programar execuções nos ambientes de teste e de produção com configurações de fluxo de trabalho. Recomendamos acioná-las manualmente no ambiente de desenvolvimento.

Para saber mais sobre as práticas recomendadas para gerenciar o ciclo de vida do código no Dataform, consulte Gerenciar o ciclo de vida do código.

Ciclo de vida do código em vários repositórios

Para personalizar as permissões de gerenciamento de identidade e acesso em cada fase do ciclo de vida do código, crie várias cópias de um repositório e armazene-as em diferentes projetosGoogle Cloud .

Cada projeto do Google Cloud funciona como um ambiente de execução que corresponde a um estágio do ciclo de vida do código, por exemplo, desenvolvimento e produção.

Nessa abordagem, recomendamos manter a base de código do repositório igual em todos os projetos do Google Cloud. Para personalizar a compilação e a execução em cada cópia do repositório, use substituições de compilação do espaço de trabalho, configurações de versão e configurações de fluxo de trabalho.

A seguir