Présentation des bonnes pratiques concernant Dataform

Ce document présente les bonnes pratiques concernant la gestion de la taille, de la structure et du cycle de vie du dépôt de code dans Dataform.

Bonnes pratiques pour la taille du dépôt

La taille du dépôt a un impact sur plusieurs aspects du développement dans Dataform, par exemple:

  • Collaboration
  • Lisibilité du codebase
  • Processus de développement
  • Compilation de workflows
  • Exécution du workflow

Dataform applique des quotas et limites d'API sur les ressources de compilation. Un dépôt volumineux peut entraîner un dépassement des quotas et des limites. Cela peut entraîner l'échec de la compilation et de l'exécution de votre workflow SQL.

Pour atténuer ce risque, nous vous recommandons de scinder les dépôts volumineux. Lorsque vous divisez un dépôt volumineux, vous divisez un workflow SQL volumineux en un certain nombre de workflows SQL plus petits hébergés dans différents dépôts et connectés par des dépendances entre dépôts.

Cette approche vous permet de respecter les quotas et les limites de Dataform, d'affiner les processus et les autorisations, et d'améliorer la lisibilité et la collaboration dans le codebase. Toutefois, la gestion des dépôts fractionnés peut s'avérer plus difficile que la gestion d'un seul dépôt.

Pour en savoir plus sur l'impact de la taille du dépôt dans Dataform et sur les bonnes pratiques à suivre pour scinder des dépôts, consultez la section Diviser des dépôts.

Bonnes pratiques pour la structure des dépôts

Nous vous recommandons de structurer les fichiers du répertoire definitions pour qu'ils reflètent les étapes de votre workflow. N'oubliez pas que vous pouvez adopter la structure personnalisée qui correspond le mieux à vos besoins.

La structure recommandée de sous-répertoires definitions reflète les étapes clés de la plupart des workflows SQL:

  • sources, stockage des déclarations de la source de données
  • intermediate, qui stocke la logique de transformation des données
  • output, qui stocke les définitions des tables de sortie
  • Facultatif: extras, stockage de fichiers supplémentaires

Les noms de tous les fichiers dans Dataform doivent être conformes aux consignes de dénomination des tables BigQuery. Nous vous recommandons de faire correspondre les noms des fichiers du répertoire definitions d'un dépôt Dataform à la structure du sous-répertoire.

Pour en savoir plus sur les bonnes pratiques à suivre pour structurer et nommer des fichiers dans un dépôt, consultez la page Structurer du code dans un dépôt.

Bonnes pratiques pour le cycle de vie du code

Le cycle de vie du code par défaut dans Dataform comprend les phases suivantes:

  • Développement de code de workflow SQL dans les espaces de travail Dataform

    Vous pouvez développer avec Dataform Core ou uniquement avec JavaScript.

  • Compilation du code dans un résultat de compilation à l'aide des paramètres de dataform.json

    Vous pouvez configurer des résultats de compilation personnalisés avec des configurations de version et des remplacements de compilation d'espace de travail.

    Les configurations de version vous permettent de configurer des résultats de compilation personnalisés pour l'ensemble de votre dépôt. Vous pouvez planifier leur exécution ultérieurement dans les configurations de workflow.

    Vous pouvez configurer des remplacements de compilation pour tous les espaces de travail de votre dépôt en créant des résultats de compilation personnalisés pour chaque espace de travail.

  • Exécution du résultat de la compilation dans BigQuery

    Vous pouvez planifier des exécutions ou des résultats de compilation dans un dépôt à l'aide de configurations de workflow.

Pour gérer le cycle de vie du code dans Dataform, vous pouvez créer des environnements d'exécution, par exemple pour le développement, la préproduction et la production.

Pour en savoir plus sur le cycle de vie du code dans Dataform, consultez la page Présentation du cycle de vie du code dans Dataform.

Vous pouvez choisir de conserver vos environnements d'exécution dans un seul ou dans plusieurs dépôts.

Environnements d'exécution dans un seul dépôt

Vous pouvez créer des environnements d'exécution isolés tels que le développement, la préproduction et la production dans un seul dépôt Dataform, avec des remplacements de compilation de l'espace de travail et des configurations de versions.

Vous pouvez créer des environnements d'exécution isolés de la manière suivante:

  • Diviser les tables de développement et de production par schéma
  • Scinder des tables de développement et de production par schéma et projet Google Cloud
  • Division des tables de développement, de préproduction et de production par projet Google Cloud

Vous pouvez ensuite planifier les exécutions dans des environnements de préproduction et de production à l'aide de configurations de workflow. Nous vous recommandons de déclencher les exécutions manuellement dans l'environnement de développement.

Pour en savoir plus sur les bonnes pratiques de gestion du cycle de vie du code dans Dataform, consultez la page Gérer le cycle de vie du code.

Cycle de vie du code dans plusieurs dépôts

Pour adapter les autorisations Identity and Access Management à chaque étape du cycle de vie du code, vous pouvez créer plusieurs copies d'un dépôt et les stocker dans différents projets Google Cloud.

Chaque projet Google Cloud sert d'environnement d'exécution correspondant à une étape du cycle de vie de votre code, par exemple au développement et à la production.

Dans cette approche, nous vous recommandons de conserver le même codebase du dépôt dans tous les projets Google Cloud. Pour personnaliser la compilation et l'exécution dans chaque copie du dépôt, utilisez les exceptions de compilation de l'espace de travail, les configurations de version et les configurations de workflow.

Étapes suivantes