Présentation de Dataform

Ce document présente les concepts et processus Dataform.

Dataform est un service permettant aux analystes de données de développer, de tester, de contrôler les versions et de planifier des workflows SQL complexes pour la transformation de données dans BigQuery.

Dataform vous permet de gérer la transformation des données dans le processus d'extraction, de chargement et de transformation (ELT) pour l'intégration des données. Une fois les données brutes extraites des systèmes sources et chargées dans BigQuery, Dataform vous aide à les transformer en une suite de tables de données bien définie, testée et documentée.

Dataform vous permet d'effectuer les actions de transformation de données suivantes:

  • Développez et exécutez des workflows SQL pour la transformation des données.
  • Collaborez avec les membres de l'équipe sur le développement d'un workflow SQL via Git.
  • Gérer un grand nombre de tables et leurs dépendances
  • Déclarer les données sources et gérer les dépendances des tables
  • Affichez une visualisation de l'arborescence de dépendances de votre workflow SQL.
  • Gérez des données avec du code SQL dans un dépôt central.
  • Réutiliser du code avec JavaScript.
  • Testez l'exactitude des données avec des tests de qualité sur les tables sources et de sortie.
  • Code SQL de contrôle des versions.
  • Documentez les tables de données dans du code SQL.

Processus de transformation des données dans Dataform

Le workflow de transformation des données pour Dataform est le suivant:

  1. Dataform permet de créer des dépôts pour gérer votre code.
  2. Dataform permet de créer des espaces de travail pour le développement.
  3. Dataform vous permet de développer des workflows SQL dans un espace de travail de développement.
  4. Dataform compile Dataform Core en SQL.
  5. Dataform exécute l'arborescence des dépendances.

Dataform permet de créer des dépôts pour gérer votre code

Dans un dépôt Dataform, vous utilisez Dataform Core, une extension de SQL, pour écrire des fichiers SQLX dans lesquels vous définissez votre workflow. Les dépôts Dataform sont compatibles avec le contrôle des versions. Vous pouvez associer un dépôt Dataform à un fournisseur Git tiers.

Dataform permet de créer des espaces de travail pour le développement

Vous pouvez créer des espaces de travail de développement dans un dépôt Dataform pour le développement principal de Dataform. Dans un espace de travail de développement, vous pouvez modifier le dépôt, compiler, tester et transférer ces éléments vers le dépôt principal via Git.

Dataform vous permet de développer Dataform Core dans un espace de travail de développement

Dans un espace de travail de développement, vous pouvez définir et documenter des tables, leurs dépendances et la logique de transformation pour créer votre workflow SQL. Vous pouvez également configurer des actions dans JavaScript.

Dataform compile Dataform Core

Lors de la compilation, Dataform effectue les tâches suivantes:

  • Compile Dataform Core dans un workflow SQL en SQL standard.
  • Il ajoute des instructions SQL standards, telles que CREATE TABLE ou INSERT, au code en fonction de la configuration de votre requête.
  • Transpile (compile le code JavaScript de la source vers la source) en SQL.
  • Résout les dépendances et recherche les erreurs, y compris les dépendances manquantes ou circulaires.
  • Crée l'arborescence des dépendances de toutes les actions à exécuter dans BigQuery.

La compilation Dataform est hermétique pour assurer la cohérence de la compilation, ce qui signifie que le même code est compilé à chaque fois avec le même résultat de compilation SQL. Dataform compile votre code dans un environnement de bac à sable sans accès à Internet. Aucune action supplémentaire, telle que l'appel d'API externes, n'est disponible lors de la compilation.

Pour effectuer le débogage en temps réel, vous pouvez inspecter le workflow SQL compilé de votre projet dans un graphique interactif de votre espace de travail de développement.

Dataform exécute l'arborescence de dépendances

Dans BigQuery, Dataform effectue les tâches suivantes:

  • Il exécute les commandes SQL dans l'ordre de l'arborescence des dépendances.
  • Exécute des requêtes d'assertion sur vos tables et vos vues pour vérifier l'exactitude des données.
  • Exécute les autres opérations SQL que vous avez définies.

Après l'exécution, vous pouvez utiliser vos tables et vos vues à toutes les fins d'analyse.

Vous pouvez afficher les journaux pour voir quelles tables ont été créées, si les assertions ont réussi ou échoué, la durée d'exécution de chaque action et d'autres informations. Vous pouvez aussi afficher le code SQL exact exécuté dans BigQuery.

Framework de modélisation Dataform

Dataform fournit un framework de modélisation de données Open Source, composé d'un module de base Dataform et d'une CLI Dataform, que vous pouvez utiliser en dehors de Google Cloud.

Étapes suivantes