Panoramica delle dimensioni del repository

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