Questo documento mostra come:
- Definire un'istruzione SQL da eseguire prima della creazione della tabella.
- Definire un'istruzione SQL da eseguire dopo la creazione della tabella.
- Disattivare la creazione della tabella.
- Aggiungere tag di esecuzione.
Prima di iniziare
Nella Google Cloud console, vai alla pagina Dataform.
Seleziona o crea un repository.
Seleziona o crea un workspace di sviluppo.
Definisci un file SQLX di uno dei seguenti tipi:
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per completare le attività descritte in questo documento, chiedi all'amministratore di concederti i seguenti ruoli IAM:
- Editor Dataform (
roles/dataform.editor) nel workspace -
Per sincronizzare i metadati con Knowledge Catalog:
Dataplex Catalog Editor (
roles/dataplex.catalogEditor) nel progetto o nel gruppo di voci@bigquery
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
Definire un'istruzione SQL da eseguire prima della creazione della tabella
Puoi configurare Dataform in modo che esegua una o più istruzioni SQL prima di creare una tabella selezionata in BigQuery. Per eseguire un'istruzione SQL prima che Dataform crei una tabella selezionata, aggiungila al blocco pre_operations nel file SQLX di definizione della tabella.
Per creare un'istruzione SQL personalizzata da eseguire prima che Dataform crei una tabella specifica:
- Vai al workspace di sviluppo.
- Nel riquadro File, espandi
definitions/. - Apri un file SQLX di definizione della tabella.
- Al di fuori del blocco
config, inseriscipre_operations { ... }. - All'interno di
pre_operations { ... }, aggiungi l'istruzione SQL. - (Facoltativo) Per aggiungere più istruzioni, separale con
---. - (Facoltativo) Fai clic su Formatta.
Il seguente esempio di codice mostra un'istruzione pre_operations che crea una funzione temporanea che può essere utilizzata nell'istruzione select:
pre_operations {
CREATE TEMP FUNCTION AddFourAndDivide(x INT64, y INT64)
RETURNS FLOAT64
AS ((x + 4) / y);
}
Definire un'istruzione SQL da eseguire dopo la creazione della tabella
Puoi configurare Dataform in modo che esegua una o più istruzioni SQL dopo aver creato una tabella selezionata in BigQuery. Per eseguire un'istruzione SQL dopo che Dataform ha creato una tabella selezionata, aggiungila al blocco post_operations nel file SQLX di definizione della tabella. Puoi aggiungere più istruzioni SQL al blocco post_operations.
Per creare un'istruzione SQL personalizzata da eseguire dopo che Dataform ha creato una tabella specifica:
- Vai al workspace di sviluppo.
- Nel riquadro File, espandi
definitions/. - Apri un file SQLX di definizione della tabella.
- Al di fuori del blocco
config, inseriscipost_operations { ... }. - All'interno di
post_operations { ... }, aggiungi l'istruzione SQL. - (Facoltativo) Fai clic su Formatta.
Il seguente esempio di codice mostra le istruzioni post_operations che concedono ai gruppi l'accesso alla tabella creata:
post_operations {
GRANT `roles/bigquery.dataViewer`
ON
TABLE ${self()}
TO "group:allusers@example.com", "user:otheruser@example.com"
}
Arricchimento automatico dei metadati
Dataform supporta l'arricchimento automatico dei metadati per le tabelle e le visualizzazioni BigQuery create con i workflow SQLX. Quando un'azione della tabella viene completata correttamente, Dataform tenta di scrivere i metadati definiti nella voce Knowledge Catalog corrispondente. Questo processo è disaccoppiato dall'esecuzione SQL nei seguenti modi:
- Latenza: la sincronizzazione è asincrona, il che significa che i job BigQuery non attendono il completamento dell'aggiornamento di Knowledge Catalog.
- Affidabilità: se la sincronizzazione non riesce (ad esempio, a causa dei limiti di frequenza dell'API), Dataform ritenta automaticamente l'aggiornamento. Un aggiornamento dei metadati non riuscito non causa l'errore dell'azione o del workflow Dataform.
Il seguente esempio di codice mostra come definire i metadati per Knowledge Catalog nel blocco di configurazione di un file SQLX:
config {
type: "table",
metadata: {
overview: "This table provides standardized trip data.",
extraProperties: {
generic: {
system: "BigQuery",
type: "table"
}
}
}
}
Per controllare lo stato di un aggiornamento dei metadati, segui le istruzioni riportate in Esaminare i log di esecuzione del workspace.
Per visualizzare i metadati arricchiti, puoi cercare le tabelle e le visualizzazioni BigQuery in Knowledge Catalog. Per ulteriori informazioni, consulta Cercare risorse.
Disattivare la creazione della tabella
Per impedire a Dataform di creare una tabella selezionata in BigQuery, puoi disattivarla nel relativo file SQLX di definizione della tabella. Dataform mantiene una tabella disattivata nel grafico delle dipendenze, ma non la compila e non la crea. Questo può essere utile, ad esempio, se una tabella non funziona e non vuoi che l'intero workflow non funzioni mentre risolvi il problema.
Per disattivare una tabella:
- Vai al workspace di sviluppo.
- Nel riquadro File, espandi
definitions/. - Seleziona un file SQLX di definizione della tabella.
- Nel blocco
configdel file, inseriscidisabled: true. - (Facoltativo) Fai clic su Formatta.
Il seguente esempio di codice mostra una tabella disattivata:
config {
type: "table",
disabled: true
}
select * from ${ref("source_data")}
Aggiungere tag di esecuzione
Questa sezione mostra come aggiungere tag ai file SQLX principali di Dataform per classificare il workflow.
Per organizzare i componenti del workflow in raccolte, puoi aggiungere tag personalizzati ai file SQLX dei seguenti tipi:
tableviewincrementalassertionoperations
Durante l'esecuzione di un workflow, puoi eseguire solo i file con un tag selezionato.
Con Managed Service for Apache Airflow o Workflows insieme a Cloud Scheduler, puoi creare una pianificazione che esegue un workflow Dataform con un tag selezionato a un intervallo specifico.
Aggiungere un tag
Puoi aggiungere più tag a un file SQLX.
Per aggiungere un tag a un file SQLX:
- Vai al workspace di sviluppo.
- Nel riquadro File, espandi
definitions/. - Seleziona un file SQLX.
Nel blocco
config, aggiungi un tag nel seguente formato:tags: ["CUSTOM_TAG"]Sostituisci
CUSTOM_TAGcon il tuo tag.(Facoltativo) Per aggiungere più tag, separali con una virgola (
,).(Facoltativo) Fai clic su Formatta.
Il seguente esempio di codice mostra la visualizzazione user_counts con i tag daily e hourly:
config {
type: "view",
name: "user_counts",
tags: ["daily", "hourly"]
}
Passaggi successivi
- Per scoprire come configurare le impostazioni di Dataform in
workflow_settings.yaml, consulta Configurare le impostazioni del workflow Dataform. - Per scoprire come testare i dati delle tabelle con le asserzioni, consulta Testare la qualità dei dati.
- Per scoprire come riutilizzare il codice con gli include, consulta Riutilizzare il codice in un singolo repository con gli include.
- Per scoprire come attivare manualmente le esecuzioni, consulta Attivare manualmente le esecuzioni.
- Per scoprire come aggiungere tag di policy BigQuery in Dataform, consulta Controllare l'accesso alle colonne.