Questa pagina mostra come modificare le impostazioni di elaborazione Dataform per un repository specifico.
Potrebbe essere necessario modificare il file delle impostazioni per rinominare gli schemi o aggiungere variabili di compilazione personalizzate al tuo repository.
Informazioni sulle impostazioni del repository
Ogni repository Dataform contiene un file di impostazioni dataform.json
univoco. Il file contiene l'ID progetto Google Cloud e lo schema in cui Dataform pubblica gli asset in BigQuery.
Dataform utilizza le impostazioni predefinite che puoi sostituire per soddisfare al meglio le tue esigenze modificando il file dataform.json
.
Il seguente esempio di codice mostra un file dataform.json
di esempio:
{
"warehouse": "bigquery",
"defaultDatabase": "my-gcp-project-id",
"defaultSchema": "dataform",
"defaultLocation": "australia-southeast2",
"assertionSchema": "dataform_assertions"
}
Nel codice campione, le coppie chiave-valore sono descritte come segue:
warehouse
: vai a BigQuery, dove Dataform crea gli asset.defaultDatabase
: il tuo ID progetto Google Cloud per BigQuery.defaultSchema
: il set di dati BigQuery in cui Dataform crea gli asset, chiamatidataform
per impostazione predefinita.defaultLocation
: la tua regione predefinita per il set di dati BigQuery. Per ulteriori informazioni sulle località dei set di dati BigQuery, consulta Località dei set di dati In questa località, Dataform elabora il codice e memorizza i dati eseguiti. Questa regione di elaborazione deve corrispondere alla località dei set di dati BigQuery, ma non deve corrispondere alla regione del repository Dataform.assertionSchema
: il set di dati BigQuery in cui Dataform crea viste con risultati di asserzioni, chiamate per impostazione predefinitadataform_assertions
.
Puoi accedere alle proprietà definite in dataform.json
nel codice del tuo progetto come proprietà dell'oggetto dataform.projectConfig
. Per maggiori informazioni
sull'oggetto dataform.projectConfig
,
consulta il riferimento di base Dataformlo dati.
Il seguente esempio di codice mostra l'oggetto dataform.projectConfig
in un'istruzione SELECT
in una vista:
config { type: "view" }
SELECT ${when(
dataform.projectConfig.warehouse === "bigquery",
"warehouse is set to BigQuery!",
"warehouse is not set to BigQuery!"
)}
Prima di iniziare
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per configurare le impostazioni Dataform, chiedi all'amministratore di concederti il ruolo IAM Amministratore Dataform (roles/dataform.admin
) nei repository.
Per maggiori informazioni sulla concessione dei ruoli, vedi Gestire l'accesso.
Potresti anche ottenere le autorizzazioni richieste tramite ruoli personalizzati o altri ruoli predefiniti.
Configura i nomi degli schemi
Questa attività mostra come configurare le proprietà defaultSchema
e assertionSchema
nel file dataform.json
.
Per modificare il nome di uno schema, procedi nel seguente modo:
Nell'area di lavoro di sviluppo, nel riquadro File, fai clic sul file
dataform.json
.Modifica il valore di
defaultSchema
oassertionSchema
o entrambi.
Il seguente esempio di codice mostra un nome defaultSchema
personalizzato nel file dataform.json
:
{
...
"defaultSchema": "mytables",
...
}
Crea variabili di compilazione personalizzate
Le variabili di compilazione contengono valori che puoi modificare con sostituzioni di compilazione in una richiesta API Dataform.
Dopo aver definito una variabile di compilazione in dataform.json
e averla aggiunta a tabelle selezionate, puoi utilizzarne la modifica in
Override delle compilation dell'API Dataform per eseguire le tabelle in modo condizionale.
Per creare una variabile di compilazione da utilizzare in un repository, segui questi passaggi:
- Vai all'area di lavoro di sviluppo Dataform.
- Nel riquadro File, seleziona il file
dataform.json
. Inserisci il seguente snippet di codice:
"vars": { "YOUR_VARIABLE":"VALUE" }
Sostituisci quanto segue:
- YOUR_VARIABLE con un nome per la variabile.
- VALUE con il valore predefinito della variabile di compilazione.
Il seguente esempio di codice mostra la variabile di compilazione myVariableName
impostata su myVariableValue
nel file dataform.json
:
{
...
"vars": {
"myVariableName": "myVariableValue"
},
...
}
Il seguente esempio di codice mostra il file dataform.json
con la variabile di compilazione executionSetting
impostata su dev
:
{
"warehouse": "bigquery",
"defaultSchema": "dataform_data",
"defaultDatabase": "default_bigquery_database".
"defaultLocation":"us-west-1",
"vars": {
"executionSetting":"dev"
}
}
Aggiungi una variabile di compilazione a una tabella
Per aggiungere una variabile di compilazione a un file di definizione di tabella SQLX, procedi nel seguente modo:
- Vai all'area di lavoro di sviluppo Dataform.
- Nel riquadro File, seleziona un file di definizione della tabella SQLX.
Nel file, inserisci una clausola
when
nel seguente formato:${when(dataform.projectConfig.vars.YOUR_VARIABLE === "SET_VALUE", "CONDITION")}
Sostituisci quanto segue:
- YOUR_VARIABLE con il nome della variabile, ad esempio
executionSetting
. - SET_VALUE con un valore per la variabile, ad esempio
staging
. - CONDITION con una condizione per l'esecuzione della tabella.
- YOUR_VARIABLE con il nome della variabile, ad esempio
L'esempio di codice riportato di seguito mostra un file SQLX di definizione della tabella con una clausola when
e la variabile executionSetting
che esegue il 10% dei dati nell'impostazione di esecuzione temporanea:
select
*
from ${ref("data")}
${when(
dataform.projectConfig.vars.executionSetting === "staging",
"where mod(farm_fingerprint(id) / 10) = 0",
)}
Il seguente esempio di codice mostra un file SQLX di definizione della vista con una clausola when
e la variabile myVariableName
:
config { type: "view" }
SELECT ${when(
dataform.projectConfig.vars.myVariableName === "myVariableValue",
"myVariableName is set to myVariableValue!",
"myVariableName is not set to myVariableValue!"
)}
Passaggi successivi
Per scoprire di più sulle impostazioni del progetto Dataform, consulta il riferimento
IProjectConfig
.Per informazioni su come eseguire il controllo delle versioni del codice in Dataform, consulta Controllo del codice di versione.
Per informazioni su come definire una tabella, consulta Creazione di una tabella.