Questo documento mostra come configurare altre impostazioni della tabella in un file di definizione della tabella. Con Core Dataform, puoi definire pre_operations
e post_operations
per eseguire un'istruzione SQL prima o dopo la creazione della tabella. Puoi anche ignorare le impostazioni della tabella, ad esempio database
o schema
, e disattivare la creazione della tabella.
Prima di iniziare
Nella console Google Cloud, vai alla pagina Dataform.
Seleziona o crea un repository.
Seleziona o crea un'area di lavoro di sviluppo.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per configurare impostazioni aggiuntive per le tabelle, chiedi al tuo amministratore di concederti il ruolo IAM Editor Dataform (roles/dataform.editor
) sulle aree di lavoro.
Per maggiori informazioni sulla concessione dei ruoli, vedi Gestire l'accesso.
Potresti anche ottenere le autorizzazioni richieste tramite ruoli personalizzati o altri ruoli predefiniti.
Esegui l'override delle impostazioni della tabella
Puoi eseguire l'override dello schema, del database e del nome di una tabella selezionata.
Per impostazione predefinita, una tabella segue la configurazione dello schema e del database impostata in dataform.json
. Il nome di una tabella corrisponde al nome del file SQLX di definizione della tabella.
Per eseguire l'override dello schema e del nome di una tabella selezionata, segui questi passaggi:
Vai all'area di lavoro di sviluppo.
Nel riquadro File, espandi
definitions/
.Apri un file di definizione della tabella SQLX.
Nel blocco
config
, inserisci il seguente snippet di codice:{ schema: "OVERRIDDEN_SCHEMA", database: "OVERRIDDEN_DATABASE", name: "OVERRIDDEN_NAME" }
Sostituisci
OVERRIDDEN_SCHEMA
con il set di dati BigQuery in cui vuoi creare la tabella.Sostituisci
OVERRIDDEN_DATABASE
con l'ID del progetto BigQuery in cui vuoi creare la tabella.Sostituisci
OVERRIDDEN_NAME
con il nome della tabella, diverso dal nome del file di definizione della tabella SQLX.
Fare riferimento a una tabella con un nome sostituito
- Per fare riferimento a una tabella con un nome tabella sostituito, nella funzione
ref
, inserisci il nome tabella sostituito inname: ""
.
Il seguente esempio di codice fa riferimento a una tabella con nome sostituito con overridden_name
:
SELECT * FROM ${ref("overridden_name")}
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 eseguita prima che Dataform crei una tabella specifica, segui questi passaggi:
Vai all'area di lavoro di sviluppo.
Nel riquadro File, espandi
definitions/
.Apri un file di definizione della tabella SQLX.
Fuori dal blocco di
config
, inseriscipre_operations { ... }
.All'interno di
pre_operations { ... }
, aggiungi la tua istruzione SQL.(Facoltativo) Per aggiungere più istruzioni, separale con
---
.
Il seguente esempio di codice mostra un'istruzione pre_operations
che crea una funzione temporanea che può essere utilizzata nell'istruzione di selezione:
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 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, segui questi passaggi:
Vai all'area di lavoro di sviluppo.
Nel riquadro File, espandi
definitions/
.Apri un file di definizione della tabella SQLX.
Fuori dal blocco di
config
, inseriscipost_operations { ... }
.All'interno di
post_operations { ... }
, aggiungi la tua istruzione SQL.
Il seguente esempio di codice mostra le istruzioni post_operations
che concedono ai gruppi l'accesso alla tabella creata:
post_operations {
GRANT SELECT ON ${self()} TO GROUP "allusers@example.com";
GRANT SELECT ON ${self()} TO GROUP "otherusers@example.com";
}
Disattiva creazione tabella
Per impedire a Dataform di creare una tabella selezionata in BigQuery, puoi disattivare la tabella nel rispettivo file di definizione della tabella SQLX. Dataform mantiene una tabella disabilitata 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 all'area di lavoro di sviluppo.
Nel riquadro File, espandi
definitions/
.Seleziona un file di definizione della tabella SQLX.
Nel blocco
config
del file, inseriscidisabled: true
.
Il seguente esempio di codice mostra una tabella disabilitata:
config {
type: "table",
disabled: true
}
select * from ${ref("source_data")}
Passaggi successivi
Per scoprire come configurare le impostazioni Dataform in
dataform.json
, consulta Configurare le impostazioni Dataform.Per informazioni su come convalidare i dati delle tabelle con le asserzioni, consulta Convalidare le tabelle con le asserzioni.
Per informazioni su come riutilizzare il codice con includi, consulta la sezione Riutilizzare le variabili e le funzioni con includi.
Per informazioni su come attivare manualmente le esecuzioni, consulta la sezione Attivare l'esecuzione.