Présentation de la taille du dépôt

Ce document vous aide à comprendre l'impact de la taille du dépôt sur le développement du workflow SQL et l'utilisation des ressources de compilation Dataform. Il explique également comment estimer l'utilisation des ressources de compilation de votre dépôt.

À propos de la taille du dépôt dans Dataform

La taille d'un dépôt affecte les aspects suivants du développement dans Dataform:

Collaboration
Plusieurs collaborateurs travaillant sur un dépôt volumineux peuvent créer un nombre excessif de demandes d'extraction, ce qui augmente le risque de conflits de fusion.
Lisibilité du codebase
Un plus grand nombre de fichiers qui composent un workflow SQL dans un seul dépôt peut compliquer la navigation dans le dépôt.
Processus de développement
Certaines zones d'un workflow SQL volumineux dans un seul dépôt peuvent nécessiter des autorisations ou des processus personnalisés, tels que la planification, différents des autorisations et processus appliqués au reste du workflow SQL. Si la taille du dépôt est importante, il est difficile d'adapter les processus de développement à des zones spécifiques du workflow SQL.
Compilation de workflows
Dataform applique des limites d'utilisation aux ressources de compilation. Une taille de dépôt importante peut entraîner le dépassement de ces limites, ce qui entraîne l'échec de la compilation.
Exécution du workflow
Lors de l'exécution, Dataform exécute tout le code de dépôt dans votre espace de travail et déploie des éléments dans BigQuery. Plus le dépôt est grand, plus l'exécution de Dataform prend de temps.

Si la taille importante de votre dépôt a un impact négatif sur votre développement dans Dataform, vous pouvez scinder le dépôt en plusieurs dépôts plus petits.

À propos des limites de ressources de compilation de dépôts

Lors du développement, Dataform compile tout le code de dépôt dans votre espace de travail pour générer une représentation du workflow SQL dans votre dépôt, appelée résultat de compilation. Dataform applique des limites d'utilisation aux ressources de compilation.

Votre dépôt peut dépasser les limites d'utilisation pour les raisons suivantes:

  • Bug lié à une boucle infinie dans le code du dépôt.
  • Bug de fuite de mémoire dans le code du dépôt.
  • Dépôt volumineux, environ plus de 1 000 nœuds de workflow SQL.

Pour en savoir plus sur les limites d'utilisation des ressources de compilation, consultez la section Limites des ressources de compilation Dataform.

Estimer l'utilisation des ressources de compilation de votre dépôt

Vous pouvez estimer l'utilisation des ressources de compilation suivantes pour votre dépôt:

  • Temps CPU utilisé
  • Taille maximale totale des données sérialisées du graphique d'actions généré défini dans votre dépôt

Pour obtenir une approximation du temps CPU de compilation actuel pour la compilation de votre dépôt, vous pouvez chronométrer votre workflow SQL Dataform sur une machine Linux ou macOS locale.

  • Pour chronométrer la compilation de votre workflow SQL, dans votre dépôt, exécutez la commande dataform compile de la CLI Dataform au format suivant:
time dataform compile

L'exemple de code suivant montre le résultat de l'exécution de la commande time dataform compile:

real    0m3.480s
user    0m1.828s
sys     0m0.260s

Vous pouvez considérer le résultat real comme un indicateur approximatif du temps CPU utilisé pour la compilation du dépôt.

Pour obtenir une approximation de la taille totale du graphe d'actions généré dans votre dépôt, vous pouvez écrire la sortie du graphe dans un fichier JSON. Vous pouvez considérer la taille du fichier JSON non compressé comme un indicateur approximatif de la taille totale du graphique.

  • Pour écrire la sortie du graphe compilé de votre workflow SQL dans un fichier JSON, dans votre dépôt, exécutez la commande CLI Dataform suivante:
dataform compile --json > graph.json

Étapes suivantes