Dataform è un servizio serverless che consente agli analisti di dati di sviluppare e eseguire il deployment di tabelle, tabelle incrementali o viste in BigQuery. Dataform offre un ambiente web per lo sviluppo dei flussi di lavoro SQL, connessione con GitHub, GitLab, Azure DevOps Services e Bitbucket, integrazione ed esecuzione continua ed esecuzione del flusso di lavoro.
Repository
Ogni progetto Dataform viene archiviato in repository. Un repository Dataform ospita una raccolta di file di configurazione JSON, i file SQLX e 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 creando nuove tabelle e viste.
Definizioni
Le definizioni sono file SQLX e JavaScript che definiscono nuove tabelle, viste e operazioni SQL aggiuntive per l'esecuzione in BigQuery.
Include
Include i file JavaScript in cui puoi definire variabili e funzioni da usare nel tuo progetto.
Ogni repository Dataform è connesso a un account di servizio. Puoi seleziona un account di servizio quando crei un repository oppure modifica l'account di servizio in un secondo momento.
Per impostazione predefinita, Dataform utilizza un account di servizio derivato 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 ogni modifica apportata ai file di progetto e per gestire le versioni dei file.
Ogni repository Dataform può gestire il proprio repository Git connesso a un repository Git remoto di terze parti. Puoi connettere un repository Dataform a un repository GitHub, GitLab, Azure DevOps Services o Bitbucket.
Controllo della versione del codice del flusso di lavoro SQL degli utenti 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 di 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 i contenuti di un repository Git. Dataform conserva lo stato 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 solo 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 una tabella è un'azione per creare o aggiornare in BigQuery.
In un'area di lavoro Dataform, puoi sviluppare quanto segue Azioni del flusso di lavoro SQL:
- Dichiarazioni dei dati di origine
- Tabelle e visualizzazioni
- Tabelle incrementali
- Partizioni delle tabelle e cluster
- Dipendenze tra le azioni
- Documentazione delle tabelle
- Operazioni SQL personalizzate
- Etichette BigQuery
- Tag di criteri BigQuery
- Tag Dataform
- Test della qualità dei dati, chiamati asserzioni
Puoi usare JavaScript per riutilizzare il codice del flusso di lavoro SQL di Dataform nei seguenti modi:
- In un file con incapsulamento di codice
- In un repository con include
- In più repository con pacchetti
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 ciascun file. Puoi anche visualizzare lo stato di compilazione e gli errori in nel file modificato o nel repository.
Per testare l'output di una query SQL compilata prima di eseguirla BigQuery, puoi esegui l'anteprima della query nell'area di lavoro Dataform.
Per ispezionare l'intero flusso di lavoro SQL definito nell'area di lavoro, puoi: visualizza 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 flusso di lavoro SQL codice nella tua area di lavoro a 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 flusso di lavoro SQL in un risultato di compilazione.
Con gli override delle compilazioni delle aree di lavoro, puoi configurare override delle compilazioni per tutte le aree di lavoro in un repository. Puoi impostare override dell'area di lavoro dinamica per creare risultati di compilazione personalizzati per ogni area di lavoro, trasformandole in ambienti di sviluppo isolati. Puoi eseguire l'override del progetto Google Cloud in cui verrà eseguito Dataform i contenuti di un'area di lavoro, aggiungi un prefisso ai nomi di tutte le tabelle compilate e aggiungi un suffisso allo schema predefinito.
Con le configurazioni della release, puoi configurare modelli di impostazioni di compilazione per la creazione i risultati della compilazione di un repository Dataform. In una release puoi eseguire l'override del progetto Google Cloud in cui Dataform eseguirà i risultati della compilazione e aggiungerà un prefisso ai nomi tutte le tabelle compilate, aggiungi un suffisso allo schema predefinito e aggiungere variabili di compilazione. Puoi anche impostare la frequenza creando i risultati delle compilazioni. Per pianificare l'esecuzione 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 Flussi di lavoro SQL per creare o aggiornare 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 del flusso di lavoro per pianificare le esecuzioni dei risultati della compilazione creati nelle configurazioni della release
- Pianificare le esecuzioni con Cloud Composer
- Pianificare 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 audit log per Dataform
- Visualizza i log di Cloud Logging per Dataform
Passaggi successivi
- Per scoprire di più sul core Dataform, consulta Panoramica del core Dataform.
- Per scoprire di più sui repository Dataform, vedi Introduzione ai repository.
- Per scoprire di più sulle aree di lavoro Dataform, consulta Introduzione allo sviluppo in un'area di lavoro.
- Per saperne 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.