Présentation des fonctionnalités de Dataform

Dataform est un service sans serveur permettant aux analystes de données de développer et de déployer des tables, des tables incrémentielles ou des vues dans BigQuery. Dataform offre un environnement Web pour le développement de workflows SQL, la connexion à GitHub, GitLab, Azure DevOps Services et Bitbucket, l'intégration continue, le déploiement continu et l'exécution de workflows.

Dépôts

Chaque projet Dataform est stocké dans un dépôt. Un dépôt Dataform héberge une collection de fichiers de configuration JSON, de fichiers SQLX et de fichiers JavaScript.

Les dépôts Dataform contiennent les types de fichiers suivants:

  • Fichiers de configuration

    Les fichiers de configuration JSON ou SQLX vous permettent de configurer vos workflows SQL. Ils contiennent la configuration générale, les calendriers d'exécution ou le schéma permettant de créer des tables et des vues.

  • Définitions

    Les définitions sont des fichiers SQLX et JavaScript qui définissent de nouvelles tables, vues et opérations SQL supplémentaires à exécuter dans BigQuery.

  • Inclut

    Les inclusions sont des fichiers JavaScript dans lesquels vous pouvez définir des variables et des fonctions à utiliser dans votre projet.

Chaque dépôt Dataform est connecté à un compte de service. Vous pouvez sélectionner un compte de service lorsque vous créez un dépôt ou modifiez le compte de service ultérieurement.

Par défaut, Dataform utilise un compte de service dérivé de votre numéro de projet au format suivant:

service-YOUR_PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com

Contrôle des versions

Dataform utilise le système de contrôle des versions Git pour conserver un enregistrement de chaque modification apportée aux fichiers de projet et pour gérer les versions de fichiers.

Chaque dépôt Dataform peut gérer son propre dépôt Git ou être connecté à un dépôt Git tiers distant. Vous pouvez connecter un dépôt Dataform à un dépôt GitHub, GitLab, Azure DevOps Services ou Bitbucket.

Les utilisateurs contrôlent les versions de leur code de workflow SQL dans les espaces de travail Dataform. Dans un espace de travail Dataform, vous pouvez extraire les modifications du dépôt, valider toutes les modifications ou les modifications sélectionnées, et les transférer vers les branches Git du dépôt.

Développement de workflow

Dans Dataform, vous modifiez les fichiers et les répertoires au sein d'un espace de travail de développement. Un espace de travail de développement est une copie virtuelle et modifiable du contenu d'un dépôt Git. Dataform préserve l'état des fichiers de votre espace de travail de développement entre les sessions.

Dans un espace de travail de développement, vous pouvez développer des actions de workflow SQL à l'aide de Dataform Core avec SQLX et JavaScript, ou exclusivement avec JavaScript. Vous pouvez mettre en forme automatiquement votre code Dataform Core ou votre code JavaScript.

Chaque élément d'un workflow SQL Dataform, tel qu'une table ou une assertion, correspond à une action effectuée par Dataform dans BigQuery. Par exemple, un fichier de définition de table est une action de création ou de mise à jour de la table dans BigQuery.

Dans un espace de travail Dataform, vous pouvez développer les actions de workflow SQL suivantes:

Vous pouvez utiliser JavaScript pour réutiliser le code de votre workflow SQL Dataform de différentes manières:

Dataform compile le code du workflow SQL dans votre espace de travail en temps réel. Dans votre espace de travail, vous pouvez afficher les requêtes compilées et les détails des actions dans chaque fichier. Vous pouvez également afficher l'état de la compilation et les erreurs dans le fichier modifié ou dans le dépôt.

Pour tester le résultat d'une requête SQL compilée avant de l'exécuter dans BigQuery, vous pouvez exécuter un aperçu de la requête dans votre espace de travail Dataform.

Pour inspecter l'intégralité du workflow SQL défini dans votre espace de travail, vous pouvez afficher un graphique compilé interactif qui présente toutes les actions compilées dans votre workflow SQL ainsi que les relations entre elles.

Compilation du workflow

Dataform utilise les paramètres de compilation par défaut, configurés dans workflow_settings.yaml, pour compiler le code du workflow SQL de votre espace de travail en SQL en temps réel, créant ainsi un résultat de compilation de l'espace de travail.

Vous pouvez remplacer les paramètres de compilation pour personnaliser la façon dont Dataform compile votre workflow SQL dans un résultat de compilation.

Les remplacements de compilation d'espaces de travail vous permettent de configurer des remplacements de compilation pour tous les espaces de travail d'un dépôt. Vous pouvez définir des remplacements d'espace de travail dynamiques afin de créer des résultats de compilation personnalisés pour chaque espace de travail, transformant ainsi les espaces de travail en environnements de développement isolés. Vous pouvez ignorer le projet Google Cloud dans lequel Dataform exécutera le contenu d'un espace de travail, ajouter un préfixe aux noms de toutes les tables compilées et ajouter un suffixe au schéma par défaut.

Avec les configurations de version, vous pouvez configurer des modèles de paramètres de compilation pour créer des résultats de compilation d'un dépôt Dataform. Dans une configuration de version, vous pouvez remplacer le projet Google Cloud dans lequel Dataform exécutera les résultats de compilation, ajouter un préfixe aux noms de toutes les tables compilées, ajouter un suffixe au schéma par défaut et ajouter des variables de compilation. Vous pouvez également définir la fréquence de création des résultats de compilation. Pour planifier les exécutions des résultats de compilation créés dans une configuration de version sélectionnée, vous pouvez créer une configuration de workflow.

Exécution du workflow

Lors de l'exécution du workflow, Dataform exécute les résultats de la compilation des workflows SQL pour créer ou mettre à jour des éléments dans BigQuery.

Pour créer ou actualiser les tables et les vues définies dans votre workflow SQL dans BigQuery, vous pouvez lancer manuellement l'exécution d'un workflow dans un espace de travail de développement ou planifier des exécutions.

Vous pouvez planifier des exécutions Dataform dans BigQuery de différentes manières:

Pour déboguer les erreurs, vous pouvez surveiller les exécutions comme suit:

Étapes suivantes