Ce document explique comment configurer des paramètres de tableau supplémentaires dans un fichier de définition de tableau. Avec Dataform Core, vous pouvez définir pre_operations
et post_operations
pour exécuter une instruction SQL avant ou après la création de la table. Vous pouvez également remplacer les paramètres de la table, tels que database
ou schema
, et désactiver la création de tables.
Avant de commencer
Dans la console Google Cloud, accédez à la page Dataform page.
Sélectionnez ou créez un dépôt.
Sélectionnez ou créez un espace de travail de développement.
Rôles requis
Pour obtenir les autorisations dont vous avez besoin
pour configurer des paramètres de table supplémentaires,
demandez à votre administrateur de vous accorder le
Rôle IAM Éditeur Dataform (roles/dataform.editor
) sur les espaces de travail.
Pour en savoir plus sur l'attribution de rôles, consultez la section Gérer les accès.
Vous pouvez également obtenir les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.
Remplacer les paramètres du tableau
Vous pouvez remplacer le schéma, la base de données et le nom d'une table sélectionnée.
Par défaut, une table suit la configuration de schéma et de base de données que vous avez définie
dataform.json
Le nom d’une table est identique au nom de la table
fichier SQLX de définition.
Pour remplacer le schéma et le nom d'une table sélectionnée, procédez comme suit:
Accédez à votre espace de travail de développement.
Dans le volet Fichiers, développez
definitions/
.Ouvrez un fichier de définition de table SQLX.
Dans le bloc
config
, saisissez l'extrait de code suivant:{ schema: "OVERRIDDEN_SCHEMA", database: "OVERRIDDEN_DATABASE", name: "OVERRIDDEN_NAME" }
Remplacez les éléments suivants :
OVERRIDDEN_SCHEMA
: l'instance BigQuery ensemble de données dans lequel créer la tableOVERRIDDEN_DATABASE
: ID du Projet BigQuery dans lequel vous souhaitez créer la tableOVERRIDDEN_NAME
: nom de la table. différent du nom de fichier de définition de table SQLX
(Facultatif) Cliquez sur Format.
Référencer une table avec un nom de table remplacé
- Pour référencer une table dont le nom a été remplacé, dans la fonction
ref
, saisissez le nom de la table remplacée dansname: ""
.
L'exemple de code suivant référence une table dont le nom est remplacé par
overridden_name
:
SELECT * FROM ${ref("overridden_name")}
Définir une instruction SQL à exécuter avant la création de la table
Vous pouvez configurer Dataform pour exécuter une ou plusieurs instructions SQL
avant de créer une table
sélectionnée dans BigQuery. Pour exécuter une requête SQL
avant que Dataform crée le tableau sélectionné, ajoutez votre
au bloc pre_operations
dans le fichier SQLX de définition de table.
Pour créer une instruction SQL personnalisée exécutée avant que Dataform ne crée un élément procédez comme suit:
Accédez à votre espace de travail de développement.
Dans le volet Fichiers, développez
definitions/
.Ouvrez un fichier de définition de table SQLX.
En dehors du bloc
config
, saisissezpre_operations { ... }
.Dans
pre_operations { ... }
, ajoutez votre instruction SQL.Facultatif: Pour ajouter plusieurs instructions, séparez-les avec
---
.(Facultatif) Cliquez sur Format.
L'exemple de code suivant montre une instruction pre_operations
qui crée un
fonction temporaire pouvant être utilisée dans l'instruction select:
pre_operations {
CREATE TEMP FUNCTION AddFourAndDivide(x INT64, y INT64)
RETURNS FLOAT64
AS ((x + 4) / y);
}
Définir une instruction SQL à exécuter après la création de la table
Vous pouvez configurer Dataform pour exécuter une ou plusieurs instructions SQL
après avoir créé une table
sélectionnée dans BigQuery. Exécuter une instruction SQL
Une fois que Dataform a créé un tableau sélectionné, ajoutez votre instruction à
le bloc post_operations
dans le fichier SQLX de définition de table. Vous pouvez ajouter
plusieurs instructions SQL au bloc post_operations
.
Pour créer une instruction SQL personnalisée exécutée après que Dataform a créé une instruction SQL spécifique procédez comme suit:
Accédez à votre espace de travail de développement.
Dans le volet Fichiers, développez
definitions/
.Ouvrez un fichier de définition de table SQLX.
En dehors du bloc
config
, saisissezpost_operations { ... }
.Dans
post_operations { ... }
, ajoutez votre instruction SQL.(Facultatif) Cliquez sur Format.
L'exemple de code suivant montre des instructions post_operations
qui accordent des groupes
à la table créée:
post_operations {
GRANT `roles/bigquery.dataViewer`
ON
TABLE ${self()}
TO "group:allusers@example.com", "user:otheruser@example.com"
}
Désactiver la création de tables
Pour empêcher Dataform de créer une table sélectionnée dans BigQuery, vous pouvez désactiver la table dans son fichier de définition de table SQLX. Dataform conserve une table désactivée dans le graphique des dépendances, et non de la compiler et de la créer. Cela peut être utile, par exemple, si une table échoue et vous ne voulez pas que votre flux de travail n'échoue pendant que vous corrigez le problème.
Pour désactiver une table, procédez comme suit:
Accédez à votre espace de travail de développement.
Dans le volet Fichiers, développez
definitions/
.Sélectionnez un fichier de définition de table SQLX.
Dans le bloc
config
du fichier, saisissezdisabled: true
.(Facultatif) Cliquez sur Format.
L'exemple de code suivant montre une table désactivée:
config {
type: "table",
disabled: true
}
select * from ${ref("source_data")}
Étape suivante
Pour savoir comment configurer les paramètres Dataform dans
dataform.json
, procédez comme suit : consultez Configurer les paramètres Dataform.Pour savoir comment tester les données de table avec des assertions, consultez Tester des tables avec des assertions.
Pour savoir comment réutiliser du code avec des inclusions, consultez Réutiliser des variables et des fonctions avec des inclusions.
Pour savoir comment déclencher manuellement des exécutions, consultez la section Déclencher une exécution.