Créer et exécuter un workflow SQL dans Dataform
Ce guide de démarrage rapide vous présente le processus suivant dans Dataform pour créer un workflow SQL et l'exécuter dans BigQuery:
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.
-
Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.
-
Vérifiez que la facturation est activée pour votre projet Google Cloud.
-
Activer les API BigQuery and Dataform.
-
Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.
-
Vérifiez que la facturation est activée pour votre projet Google Cloud.
-
Activer les API BigQuery and Dataform.
Dataform n'est pas compatible avec VPC Service Controls pour le moment. Si vous utilisez VPC Service Controls, excluez les ressources BigQuery de votre périmètre VPC Service Controls pour pouvoir utiliser 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:
-
Administrateur Dataform (
roles/dataform.admin
) sur les dépôts -
Éditeur Dataform (
roles/dataform.editor
) sur les espaces de travail et les 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.
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.
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 pour une table.
Créer un fichier SQLX pour définir une vue
Dans le volet Fichiers, à côté de
definitions/
, cliquez sur le menuPlus.
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
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 le même fichier.
Créer un fichier SQLX pour définir une table
Dans le volet Fichiers, à côté de
definitions/
, cliquez sur le menuPlus, puis sélectionnez 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 et l'instructionSELECT
suivants:config { type: "table" } SELECT fruit, SUM(count) as count FROM ${ref("quickstart-source")} GROUP BY 1
Après avoir défini le type de table, 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:
- Éditeur de données BigQuery sur 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.
Sur la page
quickstart-workspace
, cliquez sur Démarrer l'exécution.Cliquez sur Toutes les actions.
Dans le volet Exécuter, cliquez sur Démarrer l'exécution.
Dataform utilise les paramètres de 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 nommé 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 la zone de texte, puis cliquez sur Supprimer.
Supprimer l'espace de travail de développement Dataform
La création d'espaces de travail de développement Dataform n'entraîne aucuns frais. Toutefois, si vous souhaitez supprimer l'espace de travail de développement, procédez comme suit :
Dans la console Google Cloud, accédez à la page Dataform.
Cliquez sur
quickstart-repository
.Dans l'onglet Espaces de travail de développement, cliquez sur le menu
Plus par
quickstart-workspace
, puis sélectionnez Supprimer.Pour confirmer l'opération, cliquez sur Supprimer.
Supprimer le dépôt Dataform
La création de dépôts Dataform n'entraîne aucuns frais. Toutefois, si vous souhaitez supprimer un dépôt et tout son contenu, procédez comme suit:
Dans la console Google Cloud, accédez à la page Dataform.
Dans
quickstart-repository
, cliquez sur le menuPlus, 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 page 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 la section [Configurer les paramètres Dataform]](/dataform/docs/configure-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.