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
- Saiba mais sobre os limites de recursos de compilação do Dataform em Limites de recursos de compilação do Dataform.
- Para saber mais sobre como dividir um repositório no Dataform, consulte Como dividir repositórios.