Panoramica delle funzionalità di Dataform

Dataform è un servizio serverless che consente agli analisti di dati di sviluppare ed eseguire il deployment di tabelle, tabelle incrementali o viste in BigQuery. Dataform offre un ambiente web per lo sviluppo dei flussi di lavoro SQL, la connessione con GitHub, GitLab, Azure DevOps Services e Bitbucket, l'integrazione continua, il deployment continuo e l'esecuzione del flusso di lavoro.

Repository

Ogni progetto Dataform è archiviato in un repository. Un repository Dataform ospita una raccolta di file di configurazione JSON, file SQLX e file JavaScript.

I repository Dataform contengono i seguenti tipi di file:

  • File di configurazione

    I file JSON o SQLX di configurazione consentono di configurare i flussi di lavoro SQL. Contengono la configurazione generale, le pianificazioni di esecuzione o lo schema per la creazione di nuove tabelle e viste.

  • Definizioni

    Le definizioni sono file SQLX e JavaScript che definiscono nuove tabelle, viste e operazioni SQL aggiuntive da eseguire in BigQuery.

  • Include

    Gli elementi inclusi sono file JavaScript in cui puoi definire variabili e funzioni da utilizzare nel progetto.

Ogni repository Dataform è connesso a un account di servizio. Puoi selezionare un account di servizio quando crei un repository o modifichi l'account di servizio in un secondo momento.

Per impostazione predefinita, Dataform utilizza un account di servizio derivato dal numero del progetto nel seguente formato:

service-YOUR_PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com

Controllo delle versioni

Dataform utilizza il sistema di controllo della versione Git per mantenere un record di ogni modifica apportata ai file di progetto e gestire le versioni dei file.

Ogni repository Dataform può gestire il proprio repository Git o essere connesso a un repository Git remoto di terze parti. Puoi connettere un repository Dataform a un repository GitHub, GitLab, Azure DevOps Services o Bitbucket.

Gli utenti controllano la versione del codice del flusso di lavoro SQL all'interno delle aree di lavoro Dataform. In un'area di lavoro Dataform, puoi eseguire il pull delle modifiche dal repository, eseguire il commit di tutte le modifiche o solo quelle selezionate ed eseguirne il push ai rami Git del repository.

Sviluppo del flusso di lavoro

In Dataform, apporti modifiche ai file e alle directory all'interno di un'area di lavoro di sviluppo. Un'area di lavoro di sviluppo è una copia virtuale e modificabile dei contenuti di un repository Git. Dataform conserva lo stato dei file nell'area di lavoro di sviluppo tra una sessione e l'altra.

In un'area di lavoro di sviluppo, puoi sviluppare azioni del flusso di lavoro SQL utilizzando Dataform core con SQLX e JavaScript oppure esclusivamente con JavaScript. Puoi formattare automaticamente il codice Dataform core o JavaScript.

Ogni elemento di un flusso di lavoro SQL Dataform, ad esempio una tabella o un'asserzione, corrisponde a un'azione eseguita da Dataform in BigQuery. Ad esempio, un file di definizione di tabella è un'azione di creazione o aggiornamento della tabella in BigQuery.

In un'area di lavoro Dataform, puoi sviluppare le seguenti azioni del flusso di lavoro SQL:

Puoi utilizzare JavaScript per riutilizzare il codice del flusso di lavoro SQL Dataform nei seguenti modi:

Dataform compila il codice del flusso di lavoro SQL nella tua area di lavoro in tempo reale. Nell'area di lavoro puoi visualizzare le query compilate e i dettagli delle azioni in ogni file. Puoi anche visualizzare lo stato di compilazione e gli errori nel file modificato o nel repository.

Per testare l'output di una query SQL compilata prima di eseguirla in BigQuery, puoi eseguire l'anteprima della query nell'area di lavoro Dataform.

Per esaminare l'intero flusso di lavoro SQL definito nell'area di lavoro, puoi visualizzare un grafico compilato interattivo che mostra tutte le azioni compilate nel flusso di lavoro SQL e le relazioni tra queste.

Compilazione del flusso di lavoro

Dataform utilizza le impostazioni di compilazione predefinite, configurate nel file delle impostazioni del flusso di lavoro, per compilare il codice del flusso di lavoro SQL nell'area di lavoro in SQL in tempo reale, creando un risultato di compilazione dell'area di lavoro.

Puoi ignorare le impostazioni di compilazione per personalizzare il modo in cui Dataform compila il tuo flusso di lavoro SQL in un risultato di compilazione.

Con gli override delle compilazioni delle aree di lavoro, puoi configurare gli override delle compilazioni per tutte le aree di lavoro in un repository. Puoi impostare override dinamici delle aree di lavoro per creare risultati di compilazione personalizzati per ogni area di lavoro, trasformando le aree di lavoro in ambienti di sviluppo isolati. Puoi eseguire l'override del progetto Google Cloud in cui Dataform eseguirà i contenuti di un'area di lavoro, aggiungere un prefisso ai nomi di tutte le tabelle compilate e aggiungere un suffisso allo schema predefinito.

Con le configurazioni della release, puoi configurare i modelli delle impostazioni di compilazione per creare i risultati della compilazione di un repository Dataform. In una configurazione di release, puoi eseguire l'override del progetto Google Cloud in cui Dataform eseguirà i risultati della compilazione, aggiungere un prefisso ai nomi di tutte le tabelle compilate, aggiungere un suffisso allo schema predefinito e aggiungere variabili di compilazione. Puoi anche impostare la frequenza per la creazione dei risultati di compilazione. Per pianificare le esecuzioni dei risultati della compilazione creati in una configurazione di release selezionata, puoi creare una configurazione del flusso di lavoro.

Esecuzione flusso di lavoro

Durante l'esecuzione del flusso di lavoro, Dataform esegue i risultati della compilazione dei flussi di lavoro SQL per creare o aggiornare gli asset in BigQuery.

Per creare o aggiornare le tabelle e le viste definite nel flusso di lavoro SQL in BigQuery, puoi avviare manualmente l'esecuzione di un flusso di lavoro in un'area di lavoro di sviluppo o pianificare le esecuzioni.

Puoi pianificare le esecuzioni di Dataform in BigQuery nei seguenti modi:

Per eseguire il debug degli errori, puoi monitorare le esecuzioni nei seguenti modi:

Passaggi successivi