Dataform può eseguire operazioni SQL personalizzate che non rientrano nel modello di pubblicazione di una tabella o di scrittura di un'asserzione di Dataform. Puoi definire comandi SQL personalizzati da eseguire in BigQuery.
Prima di iniziare
Nella console Google Cloud , vai alla pagina Dataform.
Seleziona o crea un repository.
Seleziona o crea un workspace di sviluppo.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per definire un'operazione SQL personalizzata, chiedi all'amministratore di concederti il ruolo IAM Dataform Editor (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.
Crea un file per la definizione dell'operazione personalizzata
Archivia i file SQLX di definizione delle operazioni personalizzate nella directory definitions/.
Per creare un nuovo file SQLX nella directory definitions/:
- Vai al tuo workspace di sviluppo.
- Nel riquadro File, accanto a
definitions/, fai clic sul menu
Altro. - Fai clic su Crea file.
Nel campo Aggiungi un percorso del file, inserisci il nome del file seguito da
.sqlxdopodefinitions/. Ad esempio:definitions/sample-operation.sqlx.I nomi dei file possono includere solo numeri, lettere, trattini e trattini bassi.
Fai clic su Crea file.
Definisci un'operazione SQL personalizzata
Puoi definire un'operazione SQL personalizzata in un file SQLX di type: operations.
Puoi scrivere qualsiasi istruzione SQL di BigQuery in un file operations.
Dataform esegue le operazioni SQL personalizzate in BigQuery
senza modifiche.
Puoi definire più operazioni SQL personalizzate in un unico file SQLX.
BigQuery esegue tutte le operazioni in un file nello stesso contesto e
crea l'esecuzione SQL unendo tutte le operazioni con un punto e virgola (;).
Per definire più operazioni SQL personalizzate quando utilizzi il framework Dataform open source con un data warehouse diverso da BigQuery, separa le operazioni con ---.
Per definire un'operazione SQL personalizzata in un file SQLX dedicato:
- Nell'area di lavoro di sviluppo, seleziona il file SQLX per la definizione dell'operazione personalizzata.
Nel file, inserisci il seguente snippet di codice:
config { type: "operations" }Al di fuori del blocco
config, scrivi l'operazione SQL.(Facoltativo) Fai clic su Formato.
Il seguente esempio di codice mostra più operazioni SQL personalizzate definite in un
file operations:
config { type: "operations" }
DELETE FROM dataset.table WHERE country = 'GB';
DELETE FROM dataset.table WHERE country = 'FR';
Il seguente esempio di codice mostra un'operazione SQL personalizzata che crea manualmente una vista:
config { type: "operations" }
CREATE OR REPLACE VIEW dataset.table AS (SELECT 1 AS TEST)
Crea una tabella di output a cui fare riferimento
Puoi creare manualmente una tabella in un'operazione SQL personalizzata a cui puoi fare riferimento in altri script. Per creare una tabella disponibile per altri script, devi dichiarare che l'operazione ha un output.
Per fare in modo che il nome della tabella di output corrisponda al nome del file operations,
puoi utilizzare la funzione self nell'operazione CREATE.
Per creare una tabella in un'operazione personalizzata e renderla disponibile ad altri script:
- Nel tuo workspace di sviluppo, seleziona il file SQLX per la definizione dell'operazione personalizzata.
Nel file SQLX, inserisci il seguente snippet di codice:
config { type: "operations", hasOutput: true }