Configurare impostazioni aggiuntive per la tabella

Questo documento mostra come configurare impostazioni aggiuntive per le tabelle 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, come database o schema, e disabilitare la creazione della tabella.

Prima di iniziare

  1. Nella console Google Cloud, vai alla pagina Dataform.

    Vai a Dataform

  2. Seleziona o crea un repository.

  3. Seleziona o crea un'area di lavoro di sviluppo.

  4. Crea una tabella.

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per configurare impostazioni aggiuntive della tabella, chiedi all'amministratore di concederti il ruolo IAM Editor Dataform (roles/dataform.editor) per le aree di lavoro. Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.

Potresti anche essere in grado di ottenere le autorizzazioni richieste tramite i 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 lo schema e la configurazione del database che hai impostato 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:

  1. Vai all'area di lavoro di sviluppo.

  2. Nel riquadro File, espandi definitions/.

  3. Apri un file di definizione della tabella SQLX.

  4. Nel blocco config, inserisci il seguente snippet di codice:

     {
       schema: "OVERRIDDEN_SCHEMA",
       database: "OVERRIDDEN_DATABASE",
       name: "OVERRIDDEN_NAME"
     }
    

    Sostituisci quanto segue:

    • OVERRIDDEN_SCHEMA: il set di dati BigQuery in cui creare la tabella

    • OVERRIDDEN_DATABASE: l'ID del progetto BigQuery in cui vuoi creare la tabella

    • OVERRIDDEN_NAME: nome della tabella, diverso dal nome del file di definizione della tabella SQLX

  5. (Facoltativo) Fai clic su Formato.

Fare riferimento a una tabella con un nome di tabella sostituito

  • Per fare riferimento a una tabella con il nome di una tabella sostituita, nella funzione ref inserisci il nome della tabella sottoposta a override impostato in name: "".

Il seguente esempio di codice fa riferimento a una tabella il cui nome è sostituito da overridden_name:

  SELECT * FROM ${ref("overridden_name")}

Definisci un'istruzione SQL da eseguire prima della creazione della tabella

Puoi configurare Dataform in modo che esegua 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, aggiungila 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:

  1. Vai all'area di lavoro di sviluppo.

  2. Nel riquadro File, espandi definitions/.

  3. Apri un file di definizione della tabella SQLX.

  4. Fuori dal blocco config, inserisci pre_operations { ... }.

  5. All'interno di pre_operations { ... }, aggiungi l'istruzione SQL.

  6. (Facoltativo) Per aggiungere più istruzioni, separale con ---.

  7. (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 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:

  1. Vai all'area di lavoro di sviluppo.

  2. Nel riquadro File, espandi definitions/.

  3. Apri un file di definizione della tabella SQLX.

  4. Fuori dal blocco config, inserisci post_operations { ... }.

  5. All'interno di post_operations { ... }, aggiungi l'istruzione SQL.

  6. (Facoltativo) Fai clic su Formato.

Il seguente esempio di codice mostra le istruzioni post_operations che consentono ai gruppi di accedere alla tabella creata:

  post_operations {
    GRANT SELECT ON ${self()} TO GROUP "allusers@example.com";
    GRANT SELECT ON ${self()} TO GROUP "otherusers@example.com";
  }

Disabilita creazione tabella

Per impedire a Dataform di creare una tabella selezionata 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 la compila e non la crea. Questo può essere utile, ad esempio, se una tabella presenta errori e non vuoi che l'intero flusso di lavoro risulti in errore mentre risolvi il problema.

Per disattivare una tabella:

  1. Vai all'area di lavoro di sviluppo.

  2. Nel riquadro File, espandi definitions/.

  3. Seleziona un file di definizione della tabella SQLX.

  4. Nel blocco config del file, inserisci disabled: true.

  5. (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