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:
- Dichiarazioni sui dati di origine
- Tabelle e visualizzazioni
- Tabelle incrementali
- Partizioni e cluster delle tabelle
- Dipendenze tra le azioni
- Documentazione sulle tabelle
- Operazioni SQL personalizzate
- Etichette BigQuery
- Tag di criteri BigQuery
- Tag Dataform
- Test sulla qualità dei dati, chiamati asserzioni
Puoi utilizzare JavaScript per riutilizzare il codice del flusso di lavoro SQL di Dataform nei seguenti modi:
- In un file con l'incapsulamento del codice
- In un repository con include
- Nei repository con pacchetti
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:
- Crea configurazioni dei flussi di lavoro per pianificare le esecuzioni dei risultati delle compilazioni create nelle configurazioni della release
- Pianifica le esecuzioni con Cloud Composer
- Pianifica le esecuzioni con Workflows e Cloud Scheduler
Per eseguire il debug degli errori, puoi monitorare le esecuzioni nei seguenti modi:
- Visualizza log di esecuzione dettagliati di Dataform
- Visualizza i log di controllo per Dataform
- Visualizza i log di Cloud Logging per Dataform
Passaggi successivi
- Per scoprire di più su Dataform core, consulta la Panoramica del core di Dataform.
- Per scoprire di più sui repository Dataform, consulta Introduzione ai repository.
- Per saperne di più sulle aree di lavoro Dataform, consulta Introduzione allo sviluppo in un'area di lavoro.
- Per scoprire di più sullo sviluppo di flussi di lavoro SQL in Dataform, consulta Introduzione ai flussi di lavoro SQL.
- Per scoprire di più sull'utilizzo di JavaScript in Dataform, consulta Introduzione a JavaScript in Dataform.
- Per scoprire di più sul ciclo di vita del codice in Dataform, consulta Introduzione al ciclo di vita del codice in Dataform.