Questo documento illustra 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 Google Cloud console, vai alla pagina Dataform.
Seleziona o crea un repository.
Seleziona o crea uno spazio di lavoro di sviluppo.
Definisci un file SQLX di uno dei seguenti tipi:
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per completare le attività in questo documento, chiedi all'amministratore di concederti il ruolo IAM Editor di Dataform (roles/dataform.editor
) negli 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 in modo da 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 eseguita prima che Dataform crei una tabella specifica:
- Vai allo spazio di lavoro 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 in modo da eseguire 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, 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 ha creato una tabella specifica:
- Vai allo spazio di lavoro 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 istruzioni post_operations
che concedono ai gruppi 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 file di definizione della tabella SQLX. 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 va a buon fine e non vuoi che l'intero flusso di lavoro non vada a buon fine mentre risolvi il problema.
Per disattivare una tabella:
- Vai allo spazio di lavoro 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")}
Aggiungere 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 flusso di lavoro in raccolte, puoi aggiungere tag personalizzati ai file SQLX dei seguenti tipi:
table
view
incremental
assertion
operations
Durante l'esecuzione del 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 esegua 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 allo spazio di lavoro 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 della tabella con le asserzioni, consulta Testare le tabelle con le asserzioni.
- 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 l'esecuzione.
- Per scoprire come aggiungere tag di criteri BigQuery in Dataform, consulta Aggiungere tag di criteri BigQuery.