Créer et exécuter un workflow SQL dans Dataform
Ce guide de démarrage rapide vous explique comment créer un workflow SQL et l'exécuter dans BigQuery dans Dataform:
Avant de commencer
- Connectez-vous à votre compte Google Cloud. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Vérifiez que la facturation est activée pour votre projet Google Cloud.
-
Activer les API BigQuery and Dataform.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Vérifiez que la facturation est activée pour votre projet Google Cloud.
-
Activer les API BigQuery and Dataform.
Rôles requis
Pour obtenir les autorisations nécessaires pour effectuer toutes les tâches de ce tutoriel, demandez à votre administrateur de vous attribuer les rôles IAM suivants sur votre projet:
-
Administrateur Dataform (
roles/dataform.admin
) – Dépôts -
Éditeur Dataform (
roles/dataform.editor
) : espaces de travail et appels de workflow
Pour en savoir plus sur l'attribution de rôles, consultez la section Gérer les accès.
Vous pouvez également obtenir les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.
Créer un dépôt Dataform
Dans la console Google Cloud, accédez à la page Dataform page.
Cliquez sur
Créer un dépôt.Sur la page Créer un dépôt, procédez comme suit:
Dans le champ ID du dépôt, saisissez
quickstart-repository
.Dans la liste Région, sélectionnez
europe-west4
.Cliquez sur Créer.
Créer et initialiser un espace de travail de développement Dataform
Dans la console Google Cloud, accédez à la page Dataform page.
Cliquez sur
quickstart-repository
.Cliquez sur
Créer un espace de travail de développement.Dans la fenêtre Créer un espace de travail de développement, procédez comme suit:
Dans le champ ID de l'espace de travail, saisissez
quickstart-workspace
.Cliquez sur Créer.
La page de l'espace de travail de développement s'affiche.
Cliquez sur Initialiser l'espace de travail.
Créer une vue
Dans les sections suivantes, vous allez définir une vue que vous utiliserez plus tard comme source de données d'une table.
Créer un fichier SQLX pour définir une vue
Dans le volet Fichiers, à côté de
definitions/
, cliquez sur le menu Plus.Cliquez sur Créer un fichier.
Dans le volet Créer un fichier, procédez comme suit:
Dans le champ Ajouter un chemin d'accès au fichier, saisissez
definitions/quickstart-source.sqlx
.Cliquez sur Créer un fichier.
Définir une vue
Dans le volet Fichiers, développez le dossier des définitions.
Cliquez sur
definitions/quickstart-source.sqlx
.Dans le fichier, saisissez l'extrait de code suivant :
config { type: "view" } SELECT "apples" AS fruit, 2 AS count UNION ALL SELECT "oranges" AS fruit, 5 AS count UNION ALL SELECT "pears" AS fruit, 1 AS count UNION ALL SELECT "bananas" AS fruit, 0 AS count
Cliquez sur Format.
Créer une table
Dans les sections suivantes, vous allez définir le type de table dans un fichier SQLX, puis écrire une instruction SELECT
pour définir la structure de la table dans ce même fichier.
Créer un fichier SQLX pour définir une table
Dans le volet Files (Fichiers), en regard de
definitions/
, cliquez sur le menu More (Plus), puis sélectionnez Create file (Créer un fichier).Dans le champ Ajouter un chemin d'accès au fichier, saisissez
definitions/quickstart-table.sqlx
.Cliquez sur Créer un fichier.
Définir le type, la structure et les dépendances de la table
Dans le volet Fichiers, développez le répertoire
definitions/
.Sélectionnez
quickstart-table.sqlx
, puis saisissez le type de table suivant et l'instructionSELECT
:config { type: "table" } SELECT fruit, SUM(count) as count FROM ${ref("quickstart-source")} GROUP BY 1
Cliquez sur Format.
Une fois le type de table défini, Dataform génère une erreur de validation de la requête, car quickstart-source
n'existe pas encore dans BigQuery. Cette erreur est résolue lorsque vous exécuterez le workflow SQL plus loin dans ce tutoriel.
Accorder à Dataform l'accès à BigQuery
Pour exécuter des workflows dans BigQuery, le compte de service Dataform doit disposer des rôles requis suivants:
- L'éditeur de données BigQuery pour les projets pour lesquels Dataform a besoin d'un accès en lecture et en écriture. Ils incluent généralement le projet hébergeant votre dépôt Dataform.
- Lecteur de données BigQuery pour les projets pour lesquels Dataform a besoin d'un accès en lecture seule
- Utilisateur de tâche BigQuery sur le projet hébergeant votre dépôt Dataform.
Pour attribuer ces rôles, procédez comme suit:
Dans la console Google Cloud, accédez à la page IAM.
Cliquez sur Ajouter.
Dans le champ Nouveaux comptes principaux, saisissez votre ID de compte de service Dataform.
Dans la liste déroulante Sélectionner un rôle, sélectionnez le rôle Utilisateur de tâche BigQuery.
Cliquez sur Ajouter un autre rôle, puis dans la liste déroulante Sélectionner un rôle, sélectionnez le rôle Éditeur de données BigQuery.
Cliquez sur Ajouter un autre rôle, puis dans la liste déroulante Sélectionner un rôle, sélectionnez le rôle Lecteur de données BigQuery.
Cliquez sur Enregistrer.
Exécuter le workflow
Dans la console Google Cloud, accédez à la page Dataform page.
Sur la page
quickstart-workspace
, cliquez sur Start execution (Démarrer l'exécution).Cliquez sur Toutes les actions.
Dans le volet Execute (Exécuter), cliquez sur Start execution (Démarrer l'exécution).
Dataform utilise les paramètres du dépôt par défaut pour créer le contenu de votre workflow dans un ensemble de données BigQuery appelé
dataform
.
Afficher les journaux d'exécution dans Dataform
Sur la page
quickstart-repository
, cliquez sur Journaux d'exécution de workflow.Pour afficher les détails de votre exécution, cliquez sur la dernière exécution.
Effectuer un nettoyage
Pour éviter que les ressources utilisées sur cette page soient facturées sur votre compte Google Cloud, procédez comme suit :
Supprimer l'ensemble de données créé dans BigQuery
Pour éviter que des frais ne vous soient facturés pour les éléments BigQuery, supprimez l'ensemble de données appelé dataform
.
Dans la console Google Cloud, accédez à la page BigQuery.
Dans le panneau Explorateur, développez votre projet et sélectionnez
dataform
.Cliquez sur le menu Actions
, puis sélectionnez Supprimer.Dans la boîte de dialogue Supprimer l'ensemble de données, saisissez
delete
dans le champ, puis cliquez sur Supprimer.
Supprimer l'espace de travail de développement Dataform
La création de l'espace de travail de développement Dataform n'entraîne aucuns frais. Toutefois, pour supprimer l'espace de travail de développement, procédez comme suit:
Dans la console Google Cloud, accédez à la page Dataform page.
Cliquez sur
quickstart-repository
.Dans l'onglet Espaces de travail de développement, cliquez sur le menu
Plus à côté dequickstart-workspace
, puis sélectionnez Supprimer.Pour confirmer l'opération, cliquez sur Supprimer.
Supprimer le dépôt Dataform
La création d'un dépôt Dataform est gratuite. Toutefois, pour supprimer le dépôt, procédez comme suit:
Dans la console Google Cloud, accédez à la page Dataform page.
À partir de
quickstart-repository
, cliquez sur le menu Plus, puis sélectionnez Supprimer.Dans la fenêtre Supprimer le dépôt, saisissez le nom du dépôt pour confirmer la suppression.
Pour confirmer l'opération, cliquez sur Supprimer.
Étapes suivantes
Pour en savoir plus sur Dataform, consultez la présentation de Dataform.
Pour en savoir plus sur les fonctionnalités de Dataform, consultez la page Présentation des fonctionnalités de Dataform.
Pour en savoir plus sur Dataform Core, consultez la page Présentation de Dataform Core.
Pour savoir comment remplacer les paramètres Dataform par défaut de votre dépôt, consultez Configurer les paramètres Dataform.
Pour en savoir plus sur la gestion des ensembles de données dans BigQuery, consultez la page Gérer les ensembles de données.
Pour en savoir plus sur la gestion des tables dans BigQuery, consultez la page Gérer les tables.