Questo documento mostra come configurare impostazioni di tabella aggiuntive in un file di definizione della tabella. Con Dataform core, puoi definire pre_operations
e post_operations
per eseguire un'istruzione SQL prima o dopo la creazione della tabella. Puoi anche eseguire l'override delle 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 della tabella,
chiedi all'amministratore di concederti
Ruolo IAM dell'editor Dataform (roles/dataform.editor
) nelle aree di lavoro.
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite la ruoli o altri ruoli predefiniti ruoli.
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 lo schema e la configurazione del database che hai impostato
dataform.json
. Il nome di una tabella è lo stesso del nome della tabella
di definizione del file SQLX.
Per eseguire l'override dello schema e del nome di una tabella selezionata:
Vai all'area di lavoro di sviluppo.
Nel riquadro File, espandi
definitions/
.Apri un file di definizione di tabella SQLX.
Nel blocco
config
, inserisci il seguente snippet di codice:{ schema: "OVERRIDDEN_SCHEMA", database: "OVERRIDDEN_DATABASE", name: "OVERRIDDEN_NAME" }
Sostituisci quanto segue:
OVERRIDDEN_SCHEMA
: BigQuery in cui vuoi creare la tabellaOVERRIDDEN_DATABASE
: l'ID del Progetto BigQuery in cui vuoi creare la tabellaOVERRIDDEN_NAME
: il nome della tabella, diverso dal nome file di definizione della tabella SQLX
(Facoltativo) Fai clic su Formato.
Fare riferimento a una tabella con un nome tabella di cui è stato eseguito l'override
- Per fare riferimento a una tabella con un nome di tabella sostituito, nella funzione
ref
: inserisci il nome della tabella sottoposta a override impostato inname: ""
.
Il seguente esempio di codice fa riferimento a una tabella con il nome sostituito in
overridden_name
:
SELECT * FROM ${ref("overridden_name")}
Definisci un'istruzione SQL da eseguire prima di creare la tabella
Puoi configurare Dataform in modo che esegua una o più istruzioni SQL
prima di creare una tabella selezionata in BigQuery. Per eseguire un'istanza SQL
prima che Dataform crei una tabella selezionata, aggiungi
al blocco pre_operations
nel file SQLX di definizione della tabella.
Per creare un'istruzione SQL personalizzata eseguita prima che Dataform crei un'istruzione SQL tabella, segui questi passaggi:
Vai all'area di lavoro di sviluppo.
Nel riquadro File, espandi
definitions/
.Apri un file di definizione di tabella SQLX.
Fuori dal blocco
config
, inseriscipre_operations { ... }
.All'interno di
pre_operations { ... }
, aggiungi la tua 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 un'istruzione
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 che esegua una o più istruzioni SQL
dopo aver creato una tabella selezionata in BigQuery. a eseguire un'istruzione SQL
dopo che Dataform ha creato una tabella selezionata, aggiungi la tua istruzione a
il 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 un'istruzione SQL tabella, segui questi passaggi:
Vai all'area di lavoro di sviluppo.
Nel riquadro File, espandi
definitions/
.Apri un file di definizione di tabella SQLX.
Fuori dal blocco
config
, inseriscipost_operations { ... }
.All'interno di
post_operations { ... }
, aggiungi la tua istruzione SQL.(Facoltativo) Fai clic su Formato.
Il seguente esempio di codice mostra istruzioni post_operations
che concedono ai gruppi
alla tabella creata:
post_operations {
GRANT `roles/bigquery.dataViewer`
ON
TABLE ${self()}
TO "group:allusers@example.com", "user:otheruser@example.com"
}
Disabilita creazione tabella
Per interrompere la creazione di una tabella selezionata da parte di Dataform in BigQuery, puoi disabilitare la tabella nel relativo file di definizione della tabella SQLX. Dataform mantiene una tabella disabilitata nel grafico delle dipendenze, ma non compilarlo e poi crearlo. Questo può essere utile, ad esempio, se una tabella non funziona e è consigliabile evitare che l'intero flusso di lavoro abbia esito negativo 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
.(Facoltativo) Fai clic su Formato.
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 scoprire come testare i dati delle tabelle con le asserzioni, vedi Eseguire il test delle tabelle con le asserzioni.
Per informazioni su come riutilizzare il codice con include, consulta Riutilizzare variabili e funzioni con include.
Per scoprire come attivare manualmente le esecuzioni, consulta Attivare l'esecuzione.