Visão geral do tamanho do repositório

Este documento ajuda a entender como o tamanho do repositório afeta o desenvolvimento do fluxo de trabalho SQL e o uso de recursos de compilação do Dataform e como estimar o uso de recursos de compilação do seu repositório.

Sobre o tamanho do repositório no Dataform

O tamanho de um repositório afeta os seguintes aspectos de desenvolvimento no Dataform:

Colaboração
Vários colaboradores trabalhando em um repositório grande podem criar um número excesso de solicitações de envio, aumentando o risco de conflitos de mesclagem.
Legibilidade da base de código
Um número maior de arquivos que compõem um fluxo de trabalho SQL em um único repositório pode dificultar a navegação por ele.
Processos de desenvolvimento
Algumas áreas de um grande fluxo de trabalho SQL em um único repositório podem exigir permissões ou processos personalizados, como programação, diferentes das permissões e processos aplicados ao restante do fluxo de trabalho SQL. Um repositório grande dificulta a adaptação dos processos de desenvolvimento a áreas específicas do fluxo de trabalho SQL.
Compilação de fluxo de trabalho
O Dataform aplica limites de uso aos recursos de compilação. Um repositório grande pode exceder esses limites, causando falhas na compilação.
Execução do fluxo de trabalho
Durante a execução, o Dataform executa todo o código do repositório dentro do seu espaço de trabalho e implanta recursos no BigQuery. Quanto maior o repositório, mais tempo vai levar o Dataform para executá-lo.

Se o tamanho grande do repositório afetar negativamente seu desenvolvimento no Dataform, divida o repositório em vários repositórios menores.

Sobre os limites de recursos de compilação do repositório

Durante o desenvolvimento, o Dataform compila todo o código do repositório dentro do espaço de trabalho para gerar uma representação do fluxo de trabalho SQL no repositório, chamado de resultado de compilação. O Dataform impõe limites de uso a recursos de compilação.

Seu repositório pode exceder os limites de uso pelos seguintes motivos:

  • Um bug de loop infinito no código do repositório.
  • Um bug de vazamento de memória no código do repositório.
  • Grande tamanho de repositório, aproximadamente mais de 1.000 nós de fluxo de trabalho SQL.

Para saber mais sobre os limites de uso em recursos de compilação, consulte Limites de recursos de compilação do Dataform.

Estimar o uso dos recursos de compilação do seu repositório

É possível estimar o uso dos seguintes recursos de compilação no seu repositório:

  • Uso do tempo de CPU
  • Tamanho total máximo de dados serializados do gráfico de ações gerado definido no seu repositório

Para uma estimativa aproximada do uso atual do tempo de CPU de compilação para a compilação do repositório, cronometre a compilação do fluxo de trabalho SQL do Dataform em uma máquina local Linux ou macOS.

  • Para cronometrar a compilação do fluxo de trabalho SQL, dentro do seu repositório, execute o comando dataform compile da CLI do Dataform no seguinte formato:
time dataform compile

O exemplo de código a seguir mostra um resultado da execução do comando time dataform compile:

real    0m3.480s
user    0m1.828s
sys     0m0.260s

É possível tratar o resultado real como um indicador aproximado do uso do tempo de CPU para a compilação do repositório.

Para ter uma estimativa aproximada do tamanho total do gráfico de ações gerado no seu repositório, grave a saída do gráfico em um arquivo JSON. Trate o tamanho do arquivo JSON descompactado como um indicador aproximado do tamanho total do gráfico.

  • Para gravar a saída do gráfico compilado do fluxo de trabalho SQL em um arquivo JSON, dentro do seu repositório, execute o seguinte comando da CLI do Dataform:
dataform compile --json > graph.json

A seguir