Panoramica delle best practice in Dataform

Questo documento mostra una panoramica delle best practice per gestire le dimensioni del repository, la struttura dei repository e il ciclo di vita del codice in Dataform.

Best practice per le dimensioni del repository

Le dimensioni del repository influiscono su più aspetti dello sviluppo in Dataform, quali:

  • Collaborazione
  • Leggibilità del codebase
  • Processi di sviluppo
  • Compilazione del flusso di lavoro
  • Esecuzione flusso di lavoro

Implementazione forzata di Dataform Quote e limiti delle API sulle risorse di compilazione. Il repository di grandi dimensioni può causare il superamento di queste quote e limiti. Questo può comportare la mancata compilazione e l'esecuzione dei tuoi nel flusso di lavoro SQL.

Per ridurre questo rischio, consigliamo di suddividere i repository di grandi dimensioni. Quando suddividi un repository di grandi dimensioni, suddividi un flusso di lavoro SQL di grandi dimensioni in un di flussi di lavoro SQL più piccoli ospitati in diversi repository e connessi da dipendenze tra repository.

Questo approccio ti consente di rispettare le quote e i limiti di Dataform, processi e autorizzazioni e migliorare la leggibilità e la collaborazione del codebase. Tuttavia, la gestione di repository divisi può essere più difficile che gestire un unico repository.

Per saperne di più sull'impatto delle dimensioni del repository in Dataform best practice per la suddivisione dei repository, vedi Suddivisione dei repository.

Best practice per la struttura del repository

Consigliamo di strutturare i file nella directory definitions in modo che riflettano la fasi del flusso di lavoro. Tieni presente che puoi adottare una struttura personalizzata che meglio risponde alle tue esigenze.

La seguente struttura consigliata di definitions sottodirectory riflette le fasi chiave della maggior parte dei flussi di lavoro SQL:

  • sources, archiviazione delle dichiarazioni dell'origine dati
  • intermediate, archiviazione della logica di trasformazione dei dati
  • output, memorizzazione delle definizioni delle tabelle di output
  • (Facoltativo) extras, archiviazione di file aggiuntivi

I nomi di tutti i file in Dataform devono essere conformi a BigQuery linee guida per la denominazione delle tabelle. Consigliamo di inserire i nomi dei file nel La directory definitions in un repository Dataform riflette la nella struttura delle sottodirectory.

Per saperne di più sulle best practice per strutturare e di denominazione dei file in un repository, vedi Struttura del codice in un repository.

Best practice per il ciclo di vita del codice

Il ciclo di vita predefinito del codice in Dataform è costituito dalle seguenti fasi:

Per gestire il ciclo di vita del codice in Dataform, puoi creare modelli ambienti di lavoro, 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 gli ambienti di esecuzione in un unico repository, o in più repository.

Ambienti di esecuzione in un unico repository

Puoi creare ambienti di esecuzione isolati come sviluppo, gestione temporanea e produzione 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 configurazioni del flusso di lavoro. I nostri suggerimenti che attivano manualmente le esecuzioni nell'ambiente di sviluppo.

Per scoprire di più sulle best practice per la gestione del ciclo di vita del codice in Dataform, vedi 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 progetti Google Cloud.

Ogni progetto Google Cloud funge da ambiente di esecuzione che corrisponde a una fase del ciclo di vita del codice, ad esempio lo sviluppo e la produzione.

In questo approccio, consigliamo di conservare il codebase del repository la stessa in tutti i progetti Google Cloud. Per personalizzare la compilazione e l'esecuzione in ogni copia del repository, usa override delle compilazioni delle aree di lavoro, configurazioni di release e configurazioni del flusso di lavoro.

Passaggi successivi