Best practice per le dimensioni del repository
Le dimensioni del repository influiscono su diversi aspetti dello sviluppo in Dataform, ad esempio:
- Collaborazione
- Leggibilità del codebase
- Processi di sviluppo
- Compilazione flusso di lavoro
- Esecuzione del flusso di lavoro
Dataform applica quote e limiti delle API sulle risorse di compilazione. Se il repository è di grandi dimensioni, potrà superare questi limiti. Ciò può causare la mancata compilazione e l'esecuzione del flusso di lavoro SQL.
Per ridurre questo rischio, consigliamo di suddividere i repository di grandi dimensioni. Quando suddividi un repository di grandi dimensioni, dividi un flusso di lavoro SQL di grandi dimensioni in una serie di flussi di lavoro SQL più piccoli ospitati in diversi repository e connessi da dipendenze tra repository.
Questo approccio consente di rispettare le quote e i limiti di Dataform, nonché i processi e le autorizzazioni granulari e migliorare la leggibilità e la collaborazione del codebase. Tuttavia, gestire repository suddivisi può essere più difficile che gestire un singolo repository.
Per saperne di più sull'impatto delle dimensioni del repository in Dataform e sulle best practice per la suddivisione dei repository, consulta Suddivisione dei repository.
Best practice per la struttura del repository
Ti consigliamo di strutturare i file nella directory definitions
in modo che riflettano le fasi del flusso di lavoro. Ricorda che puoi adottare una struttura
personalizzata che meglio si adatta alle tue esigenze.
La seguente struttura consigliata delle sottodirectory definitions
riflette le fasi principali della maggior parte dei flussi di lavoro SQL:
sources
, archiviazione delle dichiarazioni delle origini datiintermediate
, archiviazione della logica di trasformazione dei datioutput
, archiviazione delle definizioni delle tabelle di output- (Facoltativo)
extras
, archiviazione di file aggiuntivi
I nomi di tutti i file in Dataform devono essere conformi alle linee guida per la denominazione delle tabelle BigQuery. È consigliabile che i nomi dei file nella directory definitions
in un repository Dataform riflettano la struttura della sottodirectory.
Per scoprire di più sulle best practice per strutturare e assegnare un nome ai file in un repository, consulta Strutturare il codice in un repository.
Best practice per il ciclo di vita del codice
Il ciclo di vita del codice predefinito in Dataform è costituito dalle seguenti fasi:
Sviluppo del codice del flusso di lavoro SQL nelle aree di lavoro Dataform
Puoi sviluppare con Dataform core o esclusivamente con JavaScript.
Compilazione del codice in un risultato di compilazione utilizzando le impostazioni di
dataform.json
.Puoi configurare risultati di compilazione personalizzati con configurazioni di release e override di compilazione delle aree di lavoro.
Con le configurazioni di release, puoi configurare risultati personalizzati di compilazione dell'intero repository. Puoi successivamente pianificarne l'esecuzione nelle configurazioni del flusso di lavoro.
Con gli override della compilazione delle aree di lavoro, puoi configurare gli override della compilazione per tutte le aree di lavoro nel repository, creando risultati di compilazione personalizzati per ogni area di lavoro.
L'esecuzione del risultato della compilazione in BigQuery
Puoi pianificare le esecuzioni o i risultati delle compilazioni dei repository con le configurazioni dei flussi di lavoro.
Per gestire il ciclo di vita del codice in Dataform, puoi creare ambienti di esecuzione, ad esempio sviluppo, gestione temporanea e produzione.
Per scoprire di più sul ciclo di vita del codice in Dataform, consulta Introduzione al ciclo di vita del codice in Dataform.
Puoi scegliere di conservare i tuoi ambienti di esecuzione in un singolo repository o in più repository.
Ambienti di esecuzione in un unico repository
Puoi creare ambienti di esecuzione isolati, come sviluppo, gestione temporanea e produzione, in un unico repository Dataform con override delle compilazioni delle aree di lavoro e configurazioni di release.
Puoi creare ambienti di esecuzione isolati nei seguenti modi:
- Suddividi le tabelle di sviluppo e produzione per schema
- Suddividi le tabelle di sviluppo e produzione per schema e progetto Google Cloud
- Suddividi le tabelle di sviluppo, gestione temporanea e produzione per progetto Google Cloud
Quindi, puoi pianificare le esecuzioni in ambienti di gestione temporanea e produzione con le configurazioni dei flussi di lavoro. Ti consigliamo di attivare le esecuzioni manualmente nell'ambiente di sviluppo.
Per scoprire di più sulle best practice per la gestione del ciclo di vita del codice in Dataform, consulta Gestione del ciclo di vita del codice.
Ciclo di vita del codice in più repository
Per personalizzare le autorizzazioni di Identity and Access Management per ogni fase del ciclo di vita del codice, puoi creare più copie di un repository e archiviarle in diversi progetti Google Cloud.
Ogni progetto Google Cloud funge da ambiente di esecuzione corrispondente a una fase del ciclo di vita del codice, ad esempio sviluppo e produzione.
Con questo approccio, consigliamo di mantenere lo stesso codebase del repository in tutti i progetti Google Cloud. Per personalizzare la compilazione e l'esecuzione in ogni copia del repository, utilizza gli override delle compilazioni delle aree di lavoro, le configurazioni della release e le configurazioni dei flussi di lavoro.
Passaggi successivi
- Per scoprire di più sulle dimensioni del repository in Dataform, consulta Panoramica delle dimensioni del repository.
- Per scoprire di più sulle best practice per la suddivisione dei repository, consulta la sezione Suddivisione dei repository.
- Per scoprire di più sulle best practice per la struttura del repository, consulta Strutturare il codice in un repository
- Per saperne di più sul ciclo di vita del codice in Dataform e sui diversi modi per configurarlo, consulta Introduzione al ciclo di vita del codice in Dataform.
- Per scoprire di più sulle best practice per il ciclo di vita del codice, consulta Gestione del ciclo di vita del codice.