Questo documento ti aiuta a capire in che modo le dimensioni del repository influiscono sullo sviluppo del flusso di lavoro SQL e sull'utilizzo delle risorse di compilazione di Dataform e su come stimare l'utilizzo delle risorse di compilazione del tuo repository.
Informazioni sulle dimensioni del repository in Dataform
Le dimensioni di un repository influiscono sui seguenti aspetti dello sviluppo in Dataform:
- Collaborazione
- Più collaboratori che lavorano su un repository di grandi dimensioni possono creare un numero eccessivo di richieste pull, aumentando il rischio di conflitti di unione.
- Leggibilità del codebase
- Un numero maggiore di file che compongono un flusso di lavoro SQL in un singolo repository può complicare la navigazione nel repository.
- Processi di sviluppo
- Alcune aree di un flusso di lavoro SQL di grandi dimensioni in un singolo repository potrebbero richiedere autorizzazioni o procedure personalizzate, come la pianificazione, diverse da quelle applicate al resto del flusso di lavoro SQL. Le dimensioni elevate del repository rendono difficile personalizzare le procedure di sviluppo in base ad aree specifiche del flusso di lavoro SQL.
- Compilazione del flusso di lavoro
- Dataform applica limiti di utilizzo alle risorse di compilazione. Le dimensioni elevate del repository possono portare al superamento di questi limiti, causando il fallimento della compilazione.
- Esecuzione del flusso di lavoro
- Durante l'esecuzione, Dataform esegue il codice del repository all'interno dello workspace e esegue il deployment delle risorse in BigQuery. Maggiore è il repository, più tempo occorre a Dataform per eseguirlo.
Se le dimensioni elevate del repository influiscono negativamente sullo sviluppo in Dataform, puoi suddividere il repository in più repository più piccoli.
Informazioni sui limiti delle risorse di compilazione del repository
Durante lo sviluppo, Dataform compila tutto il codice del repository all'interno della tua area di lavoro per generare una rappresentazione del flusso di lavoro SQL nel repository, chiamata risultato di compilazione. Dataform applica i limiti di utilizzo alle risorse di compilazione.
Il tuo repository potrebbe superare i limiti di utilizzo per i seguenti motivi:
- Un bug di loop infinito nel codice del repository.
- Un bug di perdita di memoria nel codice del repository.
- Repository di grandi dimensioni, con circa più di 1000 azioni di flusso di lavoro SQL.
Per ulteriori informazioni sui limiti di utilizzo delle risorse di compilazione, consulta Limiti delle risorse di compilazione di Dataform.
Stimare l'utilizzo delle risorse di compilazione del repository
Puoi stimare l'utilizzo delle seguenti risorse di compilazione per il tuo repository:
- Utilizzo del tempo della CPU
- Dimensione massima totale dei dati serializzati del grafo di azioni generato definito nel repository
Per ottenere un'approssimazione approssimativa dell'utilizzo corrente del tempo della CPU per la compilazione del repository, puoi misurare il tempo di compilazione del flusso di lavoro SQL Dataform su una macchina Linux o macOS locale.
- Per misurare il tempo di compilazione del flusso di lavoro SQL, all'interno del repository, esegui il comando
dataform compile
dell'interfaccia a riga di comando Dataform nel seguente formato:
time dataform compile
Il seguente esempio di codice mostra il risultato dell'esecuzione del comando time dataform compile
:
real 0m3.480s
user 0m1.828s
sys 0m0.260s
Puoi considerare il risultato real
come un indicatore approssimativo dell'utilizzo del tempo della CPU per la compilazione del tuo repository.
Per ottenere un'approssimazione approssimativa delle dimensioni totali del grafo di azioni generato nel tuo repository, puoi scrivere l'output del grafo in un file JSON. Puoi considerare le dimensioni del file JSON non compresso come un indicatore approssimativo delle dimensioni totali del grafico.
- Per scrivere l'output del grafo compilato del flusso di lavoro SQL in un file JSON, in un repository, esegui il seguente comando della CLI Dataform:
dataform compile --json > graph.json
Passaggi successivi
- Per scoprire di più sui limiti delle risorse di compilazione di Dataform, consulta Limiti delle risorse di compilazione di Dataform.
- Per saperne di più sulla suddivisione di un repository in Dataform, consulta Suddivisione dei repository.