Questo documento mostra come:
- Definisci un'istruzione SQL da eseguire prima della creazione della tabella.
- Definisci un'istruzione SQL da eseguire dopo la creazione della tabella.
- Disattiva la creazione di tabelle.
- Aggiungi tag di esecuzione.
Prima di iniziare
Nella console Google Cloud , 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 il ruolo IAM Editor Dataform (roles/dataform.editor
) sugli spazi di lavoro.
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.
Definisci un'istruzione SQL da eseguire prima della creazione della tabella
Puoi configurare Dataform per eseguire 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, aggiungi l'istruzione al blocco pre_operations
nel file SQLX di definizione della tabella.
Per creare un'istruzione SQL personalizzata che viene eseguita prima che Dataform crei una tabella specifica:
- Vai al tuo workspace di sviluppo.
- Nel riquadro File, espandi
definitions/
. - Apri un file di definizione della tabella SQLX.
- 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 Formato.
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);
}
Definisci un'istruzione SQL da eseguire dopo la creazione della tabella
Puoi configurare Dataform per eseguire una o più istruzioni SQL
dopo aver creato una tabella selezionata in BigQuery. Per eseguire un'istruzione SQL
dopo che Dataform crea una tabella selezionata, aggiungi l'istruzione 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 eseguita dopo che Dataform crea una tabella specifica:
- Vai al tuo workspace di sviluppo.
- Nel riquadro File, espandi
definitions/
. - Apri un file di definizione della tabella SQLX.
- Al di fuori del blocco
config
, inseriscipost_operations { ... }
. - All'interno di
post_operations { ... }
, aggiungi l'istruzione SQL. - (Facoltativo) Fai clic su Formato.
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"
}
Disattivare la creazione di tabelle
Per impedire a Dataform di creare una tabella selezionata in BigQuery, puoi disattivarla nel relativo file di definizione della tabella SQLX. Dataform mantiene una tabella disattivata nel grafico delle dipendenze, ma non la compila e la crea. Ciò può essere utile, ad esempio, se una tabella non funziona e non vuoi che l'intero flusso di lavoro non vada a buon fine mentre risolvi il problema.
Per disattivare una tabella:
- Vai al tuo workspace di sviluppo.
- Nel riquadro File, espandi
definitions/
. - Seleziona un file di definizione della tabella SQLX.
- Nel blocco
config
del file, inseriscidisabled: true
. - (Facoltativo) Fai clic su Formato.
Il seguente esempio di codice mostra una tabella disattivata:
config {
type: "table",
disabled: true
}
select * from ${ref("source_data")}
Aggiungi tag di esecuzione
Questa sezione mostra come aggiungere tag ai file SQLX di Dataform Core per classificare il flusso di lavoro.
Per organizzare i componenti del workflow in raccolte, puoi aggiungere tag personalizzati ai file SQLX dei seguenti tipi:
table
view
incremental
assertion
operations
Durante l'esecuzione di un flusso di lavoro, puoi eseguire solo i file con un tag selezionato.
Con Cloud Composer o Workflows insieme a Cloud Scheduler, puoi creare una pianificazione che esegue un flusso di lavoro Dataform con un tag selezionato a un intervallo specifico.
Aggiungi un tag
Puoi aggiungere più tag a un file SQLX.
Per aggiungere un tag a un file SQLX:
- Vai al tuo 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_TAG
con il tuo tag.(Facoltativo) Per aggiungere più tag, separali con una virgola (
,
).(Facoltativo) Fai clic su Formato.
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 flusso di lavoro 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, vedi Attivare manualmente le esecuzioni.
- Per scoprire come aggiungere tag di criteri BigQuery in Dataform, consulta la sezione Controllare l'accesso alle colonne.