Présentation des bonnes pratiques dans Dataform

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

Bonnes pratiques concernant 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 des limites d'API sur les ressources de compilation. Si votre dépôt est volumineux, il peut dépasser 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 grand dépôt, vous divisez un grand workflow SQL en plusieurs petits workflows SQL hébergés dans différents dépôts et connectés par des dépendances entre les dépôts.

Cette approche vous permet de respecter les quotas et limites de Dataform, de définir des processus et des autorisations précis, et d'améliorer la lisibilité et la collaboration du codebase. Toutefois, la gestion de dépôts fractionnés peut être plus difficile que la gestion d'un seul dépôt.

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

Bonnes pratiques concernant la structure des dépôts

Nous vous recommandons de structurer les fichiers dans le répertoire definitions pour refléter les étapes de votre workflow. N'oubliez pas que vous pouvez adopter une structure personnalisée qui répond le mieux à vos besoins.

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

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

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

Bonnes pratiques concernant le cycle de vie du code

Le cycle de vie du code par défaut dans Dataform se compose des phases suivantes:

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

Pour en savoir plus sur le cycle de vie du code dans Dataform, consultez la section 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 même 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 de différentes manières:

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

Vous pouvez ensuite planifier des exécutions dans les 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 section 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 projetsGoogle Cloud .

Chaque projet Google Cloud sert d'environnement d'exécution qui correspond à 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 code de base 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.

Étape suivante