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 di flussi di lavoro SQL, la connessione con GitHub, GitLab, Azure DevOps Services e Bitbucket, integrazione continua, deployment continuo ed esecuzione di flussi di lavoro.

Repository

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

I repository Dataform contengono i seguenti tipi di file:

  • File di configurazione

    I file di configurazione JSON o SQLX ti 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 Include 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 di 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 per gestire le versioni dei file.

Ogni repository Dataform può gestire il proprio repository Git o essere connesso a un repository Git 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 quelle selezionate ed eseguirne il push nei rami Git del repository.

Sviluppo del flusso di lavoro

In Dataform, apporti modifiche a file e directory all'interno di un'area di lavoro di sviluppo. Un'area di lavoro di sviluppo è una copia virtuale 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 JavaScript o core Dataform.

Ogni elemento di un flusso di lavoro Dataform SQL, come una tabella o un'asserzione, corrisponde a un'azione eseguita da Dataform in BigQuery. Ad esempio, un file di definizione della 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 di Dataform nei seguenti modi:

Dataform compila il codice del flusso di lavoro SQL nell'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 della 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 ispezionare 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 loro.

Compilazione del flusso di lavoro

Dataform utilizza le impostazioni di compilazione predefinite, configurate in workflow_settings.yaml, 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 eseguire l'override delle 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 di compilazione delle aree di lavoro, puoi configurare gli override di compilazione per tutte le aree di lavoro in un repository. Puoi impostare override dell'area di lavoro dinamica per creare risultati di compilazione personalizzati per ciascuna 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 di release, puoi configurare modelli di impostazioni di compilazione per creare risultati di 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 di creazione dei risultati della compilazione. Per pianificare le esecuzioni di risultati di 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 pianificarne 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