Configurer les paramètres Dataform

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

  1. Créez un dépôt.

  2. Créez et initialisez un espace de travail de développement dans votre dépôt.

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:

  1. Dans votre espace de travail de développement, dans le volet Files (Fichiers), cliquez sur le fichier workflow_settings.yaml.

  2. Modifiez la valeur de defaultDataset, de defaultAssertionSchema 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:

  1. Accédez à votre espace de travail de développement Dataform.
  2. Dans le volet Fichiers, sélectionnez le fichier workflow_settings.yaml.
  3. 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:

  1. Accédez à votre espace de travail de développement Dataform.
  2. Dans le volet Fichiers, sélectionnez un fichier de définition de table SQLX.
  3. 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.

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