Présentation du cycle de vie du code dans Dataform

Ce document décrit le cycle de vie du code dans Dataform et les différentes façons de configurer la compilation et l'exécution dans Dataform.

À propos du cycle de vie du code dans Dataform

Le cycle de vie du code Dataform se compose des phases suivantes:

Développement
Vous développez un workflow SQL dans un espace de travail Dataform.
Compilation

Dataform compile le code du workflow SQL dans votre espace de travail en SQL en temps réel, créant un résultat de compilation de l'espace de travail que vous pouvez exécuter dans BigQuery. Dataform utilise les paramètres que vous avez définis dans votre fichier de paramètres de workflow pour créer le résultat de la compilation.

La compilation Dataform est hermétique pour garantir la cohérence de la compilation, ce qui signifie que le même code est compilé pour obtenir le même résultat de compilation SQL à chaque fois. Dataform compile votre code dans un environnement bac à sable sans accès à Internet. Aucune action supplémentaire, telle que l'appel d'API externes, n'est disponible lors de la compilation.

Exécution

Dans une invocation de workflow, Dataform exécute le résultat de la compilation de l'espace de travail dans BigQuery.

Pour adapter le cycle de vie du code Dataform à vos besoins, vous pouvez configurer le résultat de la compilation pour influer sur l'emplacement et la manière dont Dataform exécute votre workflow SQL. Vous pouvez ensuite déclencher ou planifier manuellement des exécutions pour influer sur le moment où Dataform exécute l'ensemble de votre workflow SQL ou des éléments sélectionnés.

Méthodes de configuration de la compilation Dataform

Par défaut, Dataform utilise les paramètres du fichier de paramètres de workflow pour créer des résultats de compilation. Vous pouvez remplacer les paramètres par défaut par des forçages de compilation pour créer des résultats de compilation personnalisés. Vous pouvez ensuite déclencher manuellement l'exécution d'un résultat de compilation personnalisé ou planifier des exécutions.

Dataform fournit les options de configuration suivantes pour les résultats de compilation:

Remplacements de compilation d'espace de travail
Vous pouvez configurer des remplacements de compilation qui s'appliquent à tous les espaces de travail d'un dépôt. Vous pouvez utiliser des remplacements de compilation d'espace de travail pour créer des environnements de développement isolés.
Configurations de version
Vous pouvez créer des configurations de version pour configurer des modèles permettant de créer des résultats de compilation d'un dépôt Dataform. Vous pouvez ensuite créer une configuration de workflow pour planifier les exécutions des résultats de compilation créés dans une configuration de version sélectionnée.
Forcer la compilation de l'API Dataform
Vous pouvez transmettre des requêtes d'API Dataform dans le terminal pour créer et exécuter un seul résultat de compilation avec des forçages de compilation.

Configurer des remplacements de compilation d'espace de travail

Les remplacements de compilation d'espace de travail vous permettent de créer des remplacements de compilation pour tous les espaces de travail d'un dépôt Dataform. Vous pouvez créer une configuration de remplacements de compilation d'espace de travail par dépôt.

Lorsque vous déclenchez manuellement l'exécution dans un espace de travail dans un dépôt avec des remplacements de compilation d'espace de travail, Dataform applique ces remplacements au résultat de compilation de l'espace de travail.

Vous pouvez configurer les remplacements de compilation d'espace de travail suivants:

  • ProjetGoogle Cloud dans lequel Dataform exécute le contenu de l'espace de travail
  • Préfixe de la table
  • Suffixe du schéma

Vous pouvez utiliser des remplacements de compilation d'espace de travail pour créer des environnements de développement isolés en isolant les résultats de compilation de l'espace de travail dans BigQuery avec des remplacements de compilation dynamiques. Les forçages de compilation du préfixe de table et du suffixe de schéma dynamiques contiennent la variable ${workspaceName}. Lorsque vous déclenchez l'exécution dans un espace de travail, Dataform remplace la variable ${workspaceName} par le nom de l'espace de travail actuel, créant ainsi des forçages de compilation propres à l'espace de travail.

N'oubliez pas que vous ne pouvez pas planifier l'exécution des résultats de compilation créés avec des remplacements de compilation d'espace de travail.

Créer des configurations de version

Les configurations de version vous permettent de configurer des modèles de paramètres pour créer des résultats de compilation de dépôts.

Dans une configuration de version, vous pouvez configurer des remplacements de compilation des paramètres de workflow, des variables de compilation et de la fréquence de création des résultats de compilation de l'ensemble de votre dépôt.

Dans une configuration de version, vous pouvez configurer les forçages de compilation suivants:

Vous pouvez créer plusieurs configurations de version dans un dépôt Dataform, une pour chaque étape de votre cycle de développement, et ainsi créer des résultats de compilation de dépôts isolés.

Vous pouvez ensuite créer des configurations de workflow pour planifier les exécutions des résultats de compilation créés dans une configuration de version sélectionnée.

Vous pouvez également déclencher manuellement l'exécution d'un résultat de compilation dans une configuration de version sélectionnée.

Configurer un seul résultat de compilation avec des forçages de compilation de l'API Dataform

En transmettant des requêtes d'API Dataform dans le terminal, vous pouvez configurer des forçages de compilation pour un seul résultat de compilation.

Dans la requête compilationResults.create, vous pouvez créer un seul résultat de compilation d'un espace de travail Dataform ou d'un commit Git spécifié.

Dans l'objet CodeCompilationConfig de la requête compilationResults.create, vous pouvez configurer des forçages de compilation pour la requête de compilation.

Vous pouvez configurer les forçages de compilation de l'API Dataform suivants:

N'oubliez pas que les forçages de compilation de l'API Dataform s'appliquent à un seul résultat de compilation et à une seule exécution. Vous ne pouvez pas les utiliser pour planifier des exécutions Dataform.

Vous pouvez exécuter un résultat de compilation dans la requête workflowInvocations.create.

Méthodes de configuration de l'exécution Dataform

Dataform propose les options de configuration d'exécution suivantes:

Exécution manuelle dans un espace de travail
Vous pouvez déclencher manuellement l'exécution instantanée d'un workflow SQL dans un espace de travail Dataform, en dehors de toute planification. Vous pouvez exécuter certaines actions dans le workflow SQL.
Configurations de workflow
Vous pouvez planifier l'exécution des résultats de compilation créés dans une configuration de version sélectionnée. Vous pouvez sélectionner les actions de workflow SQL à exécuter, et définir la fréquence et le fuseau horaire des exécutions.

Déclencher une exécution immédiate dans un espace de travail

Dans un espace de travail Dataform, vous pouvez exécuter manuellement le workflow SQL de votre espace de travail de manière instantanée, en dehors de toute planification.

Vous pouvez exécuter manuellement les éléments suivants du workflow SQL dans votre espace de travail:

Si votre dépôt contient des remplacements de compilation d'espace de travail, vous pouvez afficher les remplacements de compilation que Dataform appliquera au résultat de compilation de l'espace de travail.

Créer des configurations de workflow

Les configurations de workflow vous permettent de planifier l'exécution des résultats de compilation à partir d'une configuration de version sélectionnée. Vous pouvez créer plusieurs configurations de workflow dans un dépôt Dataform.

Dans une configuration de workflow, vous pouvez configurer les paramètres d'exécution suivants:

  • Configuration de version de compilation appliquée
  • Sélection des actions de workflow SQL à exécuter
  • Calendrier et fuseau horaire des exécutions

Vous pouvez sélectionner les actions de workflow SQL suivantes à exécuter:

  • Toutes les actions
  • Actions sélectionnées
  • Actions avec les balises sélectionnées

Ensuite, lors d'une exécution planifiée de la configuration de votre workflow, Dataform déploie votre sélection d'actions à partir du résultat de compilation appliqué dans BigQuery.

Les configurations de version et de workflow Dataform vous permettent de configurer la compilation et de planifier des exécutions dans Dataform, sans avoir à vous appuyer sur des services supplémentaires.

Expiration des ressources de cycle de vie

Dataform stocke les résultats de compilation et les invocations de workflow pendant une période spécifique.

Expiration des appels de workflow

Les appels de workflow expirent au bout de 90 jours ou lorsque vous les supprimez manuellement.

Dans une configuration de workflow, vous pouvez afficher la liste des invocations de workflow les plus récentes créées par la configuration. Lorsqu'une invocation de workflow créée par une configuration de workflow expire, Dataform la supprime de la liste des invocations récentes.

Expiration des résultats de compilation

L'expiration des résultats de compilation dépend de la manière dont ils sont créés: dans un espace de travail de développement, dans une configuration de version ou par l'appel d'un workflow.

Lorsque vous développez un workflow SQL dans un espace de travail Dataform, Dataform compile votre code en résultat de compilation en temps réel pour fournir une validation des requêtes. Les résultats de compilation créés de cette manière expirent au bout de 24 heures.

Dans une configuration de version, le dernier résultat de compilation devient le résultat de compilation en direct. Un nouveau résultat de compilation remplace le résultat de compilation en direct actuel. Dataform conserve le résultat de la compilation en direct jusqu'à ce qu'il soit remplacé par un nouveau résultat de compilation. Un résultat de compilation remplacé expire dans un délai maximal de 24 heures.

Dataform supprime les résultats de compilation expirés de la liste des résultats de compilation passés sur la page Détails d'une configuration de version.

Dataform conserve les résultats de compilation créés par les invocations de workflow pendant toute la durée de vie de l'invocation de workflow, jusqu'à 24 heures après l'expiration ou la suppression de l'invocation de workflow.

Étape suivante