Cette page explique comment modifier les paramètres de traitement de Dataform pour un dépôt spécifique.
Vous pouvez modifier le fichier de paramètres pour renommer les schémas ou ajouter des variables de compilation personnalisées à votre dépôt.
À propos des paramètres du dépôt
Chaque dépôt Dataform contient un fichier de paramètres workflow_settings.yaml
unique. Ce fichier contient l'ID du projet Google Cloud et le schéma dans lequel Dataform publie des éléments dans BigQuery.
Dataform utilise des paramètres par défaut que vous pouvez remplacer en fonction de vos besoins en modifiant le fichier workflow_settings.yaml
.
L'exemple de code suivant présente un exemple de fichier workflow_settings.yaml
:
defaultProject: my-gcp-project-id
defaultDataset: dataform
defaultLocation: australia-southeast2
defaultAssertionDataset: dataform_assertions
Dans l'exemple de code, les paires clé/valeur et toutes les autres options pour les paramètres de workflow sont décrites dans la documentation de référence sur les configurations pour les paramètres de workflow.
Vous pouvez accéder aux propriétés définies dans workflow_settings.yaml
dans le code de votre projet en tant que propriétés de l'objet dataform.projectConfig
. Les mappages suivants entre les options workflow_settings.yaml
et les options dataform.projectConfig
accessibles au code sont appliqués:
defaultProject
=>defaultDatabase
.defaultDataset
=>defaultSchema
.defaultAssertionDataset
=>assertionSchema
.projectSuffix
=>databaseSuffix
.datasetSuffix
=>schemaSuffix
.namePrefix
=>tablePrefix
.
Pour en savoir plus sur l'objet dataform.projectConfig
, consultez la IProjectConfig
documentation de référence de Dataform.
L'exemple de code suivant montre l'objet dataform.projectConfig
appelé dans une instruction SELECT
au sein d'une vue:
config { type: "view" }
SELECT ${when(
!dataform.projectConfig.tablePrefix,
"table prefix is set!",
"table prefix is not set!"
)}
Avant de commencer
Rôles requis
Afin d'obtenir les autorisations nécessaires pour configurer les paramètres Dataform, demandez à votre administrateur de vous attribuer le rôle IAM Administrateur Dataform (roles/dataform.admin
) sur les dépôts.
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.
Configurer les noms de schéma
Cette tâche explique comment configurer les propriétés defaultDataset
et defaultAssertionSchema
dans le fichier workflow_settings.yaml
.
Pour modifier le nom d'un schéma, procédez comme suit:
Dans votre espace de travail de développement, dans le volet Files (Fichiers), cliquez sur le fichier
workflow_settings.yaml
.Modifiez la valeur de
defaultDataset
, dedefaultAssertionSchema
ou des deux.
L'exemple de code suivant montre un nom defaultDataset
personnalisé dans le fichier workflow_settings.yaml
:
...
defaultDataset: mytables
...
Créer des variables de compilation personnalisées
Les variables de compilation contiennent des valeurs que vous pouvez modifier avec des remplacements de compilation dans une requête d'API Dataform .
Après avoir défini une variable de compilation dans workflow_settings.yaml
et l'avoir ajoutée aux tables sélectionnées, vous pouvez modifier sa valeur dans
Remplacements de compilation de l'API Dataform pour exécuter les tables de manière conditionnelle.
Pour créer une variable de compilation à utiliser dans un dépôt, procédez comme suit:
- Accédez à votre espace de travail de développement Dataform.
- Dans le volet Fichiers, sélectionnez le fichier
workflow_settings.yaml
. Saisissez l'extrait de code suivant:
"vars": { "YOUR_VARIABLE":"VALUE" }
Remplacez les éléments suivants :
- YOUR_VARIABLE par le nom de la variable ;
- VALUE par la valeur par défaut de la variable de compilation.
L'exemple de code suivant montre la variable de compilation myVariableName
définie sur myVariableValue
dans le fichier workflow_settings.yaml
:
...
vars:
myVariableName: myVariableValue
...
L'exemple de code suivant montre le fichier workflow_settings.yaml
avec la variable de compilation executionSetting
définie sur dev
:
defaultProject: default_bigquery_database
defaultLocation:us-west1
defaultDataset: dataform_data,
vars:
executionSetting: dev
Ajouter une variable de compilation à une table
Pour ajouter une variable de compilation à un fichier de définition de table SQLX, procédez comme suit:
- Accédez à votre espace de travail de développement Dataform.
- Dans le volet Fichiers, sélectionnez un fichier de définition de table SQLX.
Dans le fichier, saisissez une clause
when
au format suivant:${when(dataform.projectConfig.vars.YOUR_VARIABLE === "SET_VALUE", "CONDITION")}
Remplacez les éléments suivants :
- YOUR_VARIABLE par le nom de votre variable, par exemple
executionSetting
; - SET_VALUE par une valeur pour la variable, par exemple
staging
; - CONDITION avec une condition pour l'exécution de la table.
- YOUR_VARIABLE par le nom de votre variable, par exemple
L'exemple de code suivant montre un fichier SQLX de définition de table avec une clause when
et la variable executionSetting
qui exécute 10% des données dans le paramètre d'exécution de préproduction:
select
*
from ${ref("data")}
${when(
dataform.projectConfig.vars.executionSetting === "staging",
"where mod(farm_fingerprint(id) / 10) = 0",
)}
L'exemple de code suivant montre un fichier SQLX de définition de vue avec une clause when
et la variable myVariableName
:
config { type: "view" }
SELECT ${when(
dataform.projectConfig.vars.myVariableName === "myVariableValue",
"myVariableName is set to myVariableValue!",
"myVariableName is not set to myVariableValue!"
)}
Étapes suivantes
Pour en savoir plus sur les paramètres de projet Dataform, consultez la documentation de référence sur
IProjectConfig
.Pour en savoir plus sur le code de contrôle des versions dans Dataform, consultez la page Contrôle des versions de votre code.
Pour savoir comment définir une table, consultez Créer une table.