Présentation des bonnes pratiques dans Dataform

Ce document présente les bonnes pratiques à suivre pour gérer la taille et la structure du dépôt, ainsi que le cycle de vie du code dans Dataform.

Bonnes pratiques concernant la taille du dépôt

La taille du dépôt a une incidence sur plusieurs aspects du développement dans Dataform, tels que:

  • 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 trop volumineux peut entraîner le dépassement de ces quotas et 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 diviser les grands dépôts. Lorsque vous divisez un dépôt volumineux, vous divisez un workflow SQL volumineux en plusieurs workflows SQL plus petits, hébergés dans différents dépôts et connectés via des dépendances inter-dépôts.

Cette approche vous permet de respecter les quotas et limites de Dataform, les processus et les autorisations précis, et d'améliorer la lisibilité et la collaboration du 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 de division des dépôts, consultez la page Diviser les dépôts.

Bonnes pratiques pour la structure du dépôt

Nous vous recommandons de structurer les fichiers dans le répertoire definitions pour refléter les étapes de votre workflow. Gardez à l'esprit que vous pouvez adopter la structure personnalisée qui correspond le mieux à vos besoins.

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

  • sources, le 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 Dataform doivent respecter les consignes de dénomination des tables BigQuery. Nous vous recommandons de faire en sorte que les noms des fichiers du répertoire definitions d'un dépôt Dataform reflètent la structure du sous-répertoire.

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

Bonnes pratiques pour le cycle de vie du code

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

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

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

  • Compilation de votre code en 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.

    Les remplacements de compilation d'espace de travail vous permettent de configurer des remplacements de compilation pour tous les espaces de travail de votre dépôt, créant ainsi des résultats de compilation personnalisés pour chaque espace de travail.

  • Le résultat de la compilation est exécuté dans BigQuery.

    Vous pouvez planifier des exécutions ou des résultats de compilation de 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 (développement, préproduction et production, par exemple).

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 dépôt 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 d'espace de travail et des configurations de version.

Vous pouvez créer des environnements d'exécution isolés comme suit:

  • Répartir les tables de développement et de production par schéma
  • Diviser les tables de développement et de production par schéma et par projet Google Cloud
  • Répartir les tables de développement, de préproduction et de production par projet Google Cloud

Vous pouvez ensuite planifier des 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 le 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 des remplacements de compilation d'espace de travail, des configurations de version et des configurations de workflow.

Étapes suivantes