Questo documento ti aiuta a comprendere in che modo le dimensioni del repository influiscono sullo sviluppo del flusso di lavoro SQL e sull'utilizzo delle risorse di compilazione Dataform, nonché su come stimare l'utilizzo delle risorse di compilazione da parte del 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 di 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ò rendere difficile la navigazione all'interno del repository.
- Processi di sviluppo
- Alcune aree di un ampio flusso di lavoro SQL in un singolo repository potrebbero richiedere autorizzazioni o processi personalizzati, come la pianificazione, diversi dalle autorizzazioni e dai processi applicati al resto del flusso di lavoro SQL. Le grandi dimensioni del repository rendono difficile personalizzare i processi di sviluppo per aree specifiche del flusso di lavoro SQL.
- Compilazione flusso di lavoro
- Dataform applica i limiti di utilizzo sulle risorse di compilazione. Le grandi dimensioni del repository possono portare al superamento di questi limiti, con l'esito negativo della compilazione.
- Esecuzione del flusso di lavoro
- Durante l'esecuzione, Dataform esegue tutto il codice del repository all'interno dell'area di lavoro ed esegue il deployment degli asset in BigQuery. Più grande è il repository, più tempo impiegherà Dataform per eseguirlo.
Se le grandi dimensioni del repository incidono negativamente sullo sviluppo in Dataform, puoi suddividerlo in più repository di dimensioni inferiori.
Informazioni sui limiti delle risorse di compilazione dei repository
Durante lo sviluppo, Dataform compila tutto il codice del repository all'interno dell'area di lavoro per generare una rappresentazione del flusso di lavoro SQL nel repository, chiamata risultato di compilazione. Dataform applica limiti di utilizzo sulle risorse di compilazione.
Il repository potrebbe superare i limiti di utilizzo per i seguenti motivi:
- Un bug a ciclo infinito nel codice del repository.
- Un bug relativo alla perdita di memoria nel codice del repository.
- Repository di grandi dimensioni, circa più di 1000 nodi di flusso di lavoro SQL.
Per ulteriori informazioni sui limiti di utilizzo delle risorse di compilazione, consulta Limiti delle risorse di compilazione di Dataform.
Stima l'utilizzo delle risorse di compilazione del repository
Puoi stimare l'utilizzo delle seguenti risorse di compilazione per il tuo repository:
- Utilizzo tempo CPU
- Dimensione massima totale dei dati serializzati del grafico generato delle azioni definite nel repository
Per ottenere un'approssimazione approssimativa dell'utilizzo attuale del tempo di CPU di compilazione per la compilazione del repository, puoi cronometrare la compilazione del tuo flusso di lavoro Dataform SQL su un computer Linux o macOS locale.
- Per completare la compilazione del flusso di lavoro SQL, all'interno del repository esegui il comando
dataform compile
dell'interfaccia a riga di comando Dataform nel formato seguente:
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 di real
come un indicatore approssimativo dell'utilizzo del tempo di CPU per la compilazione del repository.
Per ottenere un'approssimazione delle dimensioni totali del grafico generato delle azioni nel repository, puoi scrivere l'output del grafico 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 grafico compilato del tuo flusso di lavoro SQL in un file JSON, all'interno del repository esegui il seguente comando dell'interfaccia a riga di comando Dataform:
dataform compile --json > graph.json
Passaggi successivi
- Per scoprire di più sui limiti delle risorse di compilazione Dataform, consulta Limiti delle risorse di compilazione Dataform.
- Per scoprire di più sulla suddivisione di un repository in Dataform, consulta Suddivisione dei repository.