Implémenter Datastream et Dataflow pour l'analyse

Datastream

Datastream est compatible avec les flux de données de bases de données Oracle, MySQL et PostgreSQL directement dans des ensembles de données BigQuery. Toutefois, si vous avez besoin de davantage de contrôle sur la logique de traitement par flux, par exemple pour la transformation des données ou la définition manuelle des clés primaires logiques, vous pouvez intégrer Datastream aux modèles de tâches Dataflow.

Ce tutoriel explique comment Datastream s'intègre à Dataflow en utilisant des modèles de tâches Dataflow afin de diffuser des vues matérialisées à jour dans BigQuery à des fins d'analyse.

Pour les entreprises disposant de nombreuses sources de données isolées, l'accès aux données d'entreprise dans toute l'organisation, en particulier en temps réel, peut être limité et lent. Cela limite la capacité de l’organisation à introspection.

Datastream fournit un accès en temps quasi réel pour modifier les données de diverses sources sur site et dans le cloud. Datastream s'en charge pour vous, ce qui vous évite d'avoir à configurer très peu de tâches de configuration pour les flux de données. Datastream dispose également d'une API de consommation unifiée qui démocratise l'accès de votre organisation aux données d'entreprise les plus récentes pour créer des scénarios intégrés.

L'un de ces scénarios consiste à transférer des données d'une base de données source vers un service de stockage dans le cloud ou une file d'attente de messagerie. Une fois que Datastream diffuse les données, celles-ci sont transformées dans un format lisible par d'autres applications et services. Dans ce tutoriel, Dataflow est le service Web qui communique avec le service de stockage ou la file d'attente de messagerie pour capturer et traiter les données sur Google Cloud.

Vous apprendrez à utiliser Datastream pour diffuser les modifications (données insérées, mises à jour ou supprimées) d'une base de données MySQL source vers un dossier d'un bucket Cloud Storage. Vous allez ensuite configurer le bucket Cloud Storage de sorte qu'il envoie des notifications permettant à Dataflow d'en savoir plus sur les nouveaux fichiers contenant les modifications de données que Datastream diffuse à partir de la base de données source. Une tâche Dataflow traite ensuite les fichiers et transfère les modifications dans BigQuery.

schéma du parcours utilisateur de l'intégration

Objectifs

Dans ce tutoriel, vous allez effectuer les tâches suivantes :

  • Créer un bucket dans Cloud Storage Il s'agit du bucket de destination dans lequel Datastream diffuse les schémas, les tables et les données d'une base de données MySQL source.
  • activer les notifications Pub/Sub pour le bucket Cloud Storage ; En procédant ainsi, vous configurez le bucket de sorte qu'il envoie des notifications permettant à Dataflow d'être informé des nouveaux fichiers prêts à être traités. Ces fichiers contiennent les modifications apportées aux données que Datastream diffuse depuis la base de données source vers le bucket.
  • Créer des ensembles de données dans BigQuery BigQuery utilise des ensembles de données pour contenir les données qu'il reçoit de Dataflow. Ces données représentent les modifications apportées à la base de données source que Datastream diffuse dans le bucket Cloud Storage.
  • Créer et gérer des profils de connexion pour une base de données source et un bucket de destination dans Cloud Storage. Dans Datastream, un flux utilise les informations des profils de connexion pour transférer les données de la base de données source vers le bucket.
  • Créez et démarrez un flux. Ce flux transfère les données, les schémas et les tables de la base de données source vers le bucket.
  • Vérifiez que Datastream transfère les données et les tables associées à un schéma de la base de données source dans le bucket.
  • Créez un job dans Dataflow. Une fois que Datastream a transféré les modifications de données de la base de données source vers le bucket Cloud Storage, des notifications sont envoyées à Dataflow lorsque de nouveaux fichiers contiennent les modifications. Le job Dataflow traite les fichiers et transfère les modifications dans BigQuery.
  • Vérifiez que Dataflow traite les fichiers contenant les modifications associées à ces données et transfère ces modifications dans BigQuery. Vous bénéficiez ainsi d'une intégration de bout en bout entre Datastream et BigQuery.
  • Nettoyez les ressources que vous avez créées dans Datastream, Cloud Storage, Pub/Sub, Dataflow et BigQuery afin qu'elles ne soient plus comptabilisées dans votre quota et qu'elles ne vous soient plus facturées.

Coûts

Dans ce document, vous utilisez les composants facturables suivants de Google Cloud :

  • Datastream
  • Cloud Storage
  • Pub/Sub
  • Dataflow
  • BigQuery

Obtenez une estimation des coûts en fonction de votre utilisation prévue à l'aide du simulateur de coût. Les nouveaux utilisateurs de Google Cloud peuvent bénéficier d'un essai gratuit.

Avant de commencer

  1. 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.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Vérifiez que la facturation est activée pour votre projet Google Cloud.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  5. Vérifiez que la facturation est activée pour votre projet Google Cloud.

  6. Activez l'API Datastream.

    Activer l'API

  7. Assurez-vous que le rôle d'administrateur Datastream est attribué à votre compte utilisateur.

    Accéder à la page IAM

  8. Assurez-vous de disposer d'une base de données MySQL source à laquelle Datastream peut accéder. Vérifiez également que la base de données contient des données, des tables et des schémas.
  9. Configurez votre base de données MySQL pour autoriser les connexions entrantes provenant d'adresses IP publiques Datastream. Pour obtenir la liste de toutes les régions Datastream et des adresses IP publiques associées, consultez Listes d'autorisation d'adresses IP et régions.
  10. Configurez la capture des données modifiées (CDC, Change Data Capture) pour la base de données source. Pour en savoir plus, consultez la page Configurer une base de données MySQL source.
  11. Assurez-vous de remplir toutes les conditions préalables à l'activation des notifications Pub/Sub pour Cloud Storage.

    Dans ce tutoriel, vous allez créer un bucket de destination dans Cloud Storage et activer les notifications Pub/Sub pour le bucket. Dataflow peut ainsi recevoir des notifications sur les nouveaux fichiers que Datastream écrit dans le bucket. Ces fichiers contiennent les modifications apportées aux données que Datastream diffuse depuis la base de données source vers le bucket.

Conditions requises

Datastream propose diverses options de source, des options de destination et des méthodes de connectivité réseau.

Pour ce tutoriel, nous partons du principe que vous utilisez une base de données MySQL autonome et un service Cloud Storage de destination. Pour la base de données source, vous devriez pouvoir configurer votre réseau pour ajouter une règle de pare-feu entrante. La base de données source peut être sur site ou chez un fournisseur cloud. Pour la destination Cloud Storage, aucune configuration de connectivité n'est requise.

Ne connaissant pas les spécificités de votre environnement, nous ne pouvons pas fournir de procédure détaillée pour la configuration de votre réseau.

Pour ce tutoriel, sélectionnez Liste d'autorisation d'adresses IP comme méthode de connectivité réseau. La liste d'autorisation d'adresses IP est une fonctionnalité de sécurité souvent utilisée pour limiter et contrôler l'accès des utilisateurs de confiance aux données de votre base de données source. Les listes d'autorisation d'adresses IP vous permettent de créer des listes d'adresses IP ou de plages d'adresses IP approuvées à partir desquelles vos utilisateurs et d'autres services Google Cloud tels que Datastream peuvent accéder à ces données. Pour utiliser les listes d'autorisation d'adresses IP, vous devez ouvrir la base de données ou le pare-feu source aux connexions entrantes de Datastream.

Créer un bucket dans Cloud Storage

Créez un bucket de destination dans Cloud Storage, dans lequel Datastream diffuse les schémas, les tables et les données d'une base de données MySQL source.

  1. Dans la console Google Cloud, accédez à la page Navigateur de Cloud Storage.

    Accéder à la page du navigateur

  2. Cliquez sur Créer un bucket. La page Créer un bucket s'affiche.

  3. Dans le champ de texte de la région Attribuer un nom au bucket, saisissez my-integration-bucket, puis cliquez sur Continuer.

  4. Acceptez les paramètres par défaut pour chaque zone restante de la page. À la fin de chaque région, cliquez sur Continuer.

  5. Cliquez sur Créer.

Activer les notifications Pub/Sub pour le bucket Cloud Storage

Dans cette section, vous allez activer les notifications Pub/Sub pour le bucket Cloud Storage que vous avez créé. En procédant ainsi, vous configurez le bucket pour informer Dataflow de tout nouveau fichier que Datastream y écrit. Ces fichiers contiennent les modifications apportées aux données que Datastream diffuse dans le bucket depuis une base de données MySQL source.

  1. Accédez au bucket Cloud Storage que vous avez créé. La page Informations sur le bucket s'affiche.

  2. Cliquez sur Activer Cloud Shell.

  3. Lorsque vous y êtes invité, saisissez la commande suivante :

    gsutil notification create -t my_integration_notifs -f json -p integration/tutorial/ gs://my-integration-bucket

  4. Facultatif: si une fenêtre Autoriser Cloud Shell s'affiche, cliquez sur Autoriser.

  5. Vérifiez que les lignes de code suivantes s'affichent :

    Created Cloud Pub/Sub topic projects/project-name/topics/my_integration_notifs
    Created notification config projects/_/buckets/my-integration-bucket/notificationConfigs/1
    
  6. Dans la console Google Cloud, accédez à la page Sujets pour Pub/Sub.

    Accéder à la page Sujets

  7. Cliquez sur le sujet my_integration_notifs que vous avez créé.

  8. Sur la page my_integration_notifs, faites défiler le contenu jusqu'en bas. Vérifiez que l'onglet Abonnements est actif et que le message Aucun abonnement à afficher s'affiche.

  9. Cliquez sur Créer un abonnement.

  10. Dans le menu qui s'affiche, sélectionnez Créer un abonnement.

  11. Sur la page Ajouter un abonnement au sujet:

    1. Dans le champ ID d'abonnement, saisissez my_integration_notifs_sub.
    2. Définissez la valeur Délai de confirmation sur 120 secondes. Dataflow dispose ainsi de suffisamment de temps pour confirmer les fichiers traités, ce qui contribue à améliorer les performances globales du job Dataflow. Pour en savoir plus sur les propriétés d'abonnement Pub/Sub, consultez Propriétés d'abonnement.
    3. Conservez toutes les autres valeurs par défaut sur la page.
    4. Cliquez sur Créer.

Vous créerez un job Dataflow dans la suite de ce tutoriel. Lors de la création de cette tâche, vous allez désigner Dataflow comme abonné à l'abonnement my_integration_notifs_sub. Dataflow peut ainsi recevoir des notifications sur les nouveaux fichiers que Datastream écrit dans Cloud Storage, traiter les fichiers et transférer les modifications de données dans BigQuery.

Créer des ensembles de données dans BigQuery

Dans cette section, vous allez créer des ensembles de données dans BigQuery. BigQuery utilise des ensembles de données pour contenir les données qu'il reçoit de Dataflow. Ces données représentent les modifications apportées à la base de données MySQL source que Datastream diffuse dans votre bucket Cloud Storage.

  1. Dans la console Google Cloud, accédez à la page Espace de travail SQL pour BigQuery.

    Accéder à la page "Espace de travail SQL"

  2. Dans le volet Explorateur, à côté du nom de votre projet Google Cloud, cliquez sur Afficher les actions.

  3. Dans le menu qui s'affiche, sélectionnez Créer un ensemble de données.

  4. Dans la fenêtre Créer un ensemble de données:

    1. Dans le champ ID de l'ensemble de données, saisissez un ID pour l'ensemble de données. Pour ce tutoriel, saisissez My_integration_dataset_log dans le champ.
    2. Conservez toutes les autres valeurs par défaut dans la fenêtre.
    3. Cliquez sur Créer un ensemble de données.
  5. Dans le volet Explorateur, à côté du nom de votre projet Google Cloud, cliquez sur Développer le nœud, puis vérifiez que vous voyez bien l'ensemble de données que vous avez créé.

  6. Suivez les étapes de cette procédure pour créer un deuxième ensemble de données : My_integration_dataset_final.

  7. À côté de chaque ensemble de données, développez Développer le nœud.

  8. Vérifiez que chaque ensemble de données est vide.

Une fois que Datastream a transféré les modifications de la base de données source vers votre bucket Cloud Storage, un job Dataflow traite les fichiers contenant les modifications, puis les transfère dans les ensembles de données BigQuery.

Créer des profils de connexion dans Datastream

Dans cette section, vous allez créer des profils de connexion dans Datastream pour une base de données source et une destination. Lors de la création des profils de connexion, vous sélectionnez MySQL comme type de profil pour votre profil de connexion source et Cloud Storage comme type de profil pour votre profil de connexion de destination.

Datastream utilise les informations définies dans les profils de connexion pour se connecter à la fois à la source et à la destination, afin de pouvoir diffuser les données de la base de données source vers votre bucket de destination dans Cloud Storage.

Créer un profil de connexion source pour votre base de données MySQL

  1. Dans la console Google Cloud, accédez à la page Profils de connexion pour Datastream.

    Accéder à la page Profils de connexion

  2. Cliquez sur Créer un profil.

  3. Pour créer un profil de connexion source pour votre base de données MySQL, accédez à la page Créer un profil de connexion, puis cliquez sur le type de profil MySQL.

  4. Dans la section Définir les paramètres de connexion de la page Créer un profil MySQL, fournissez les informations suivantes:

    • Dans le champ Nom du profil de connexion, saisissez My Source Connection Profile.
    • Conservez l'ID du profil de connexion généré automatiquement.
    • Sélectionnez la région dans laquelle vous souhaitez stocker le profil de connexion.

    • Saisissez les informations sur la connexion :

      • Dans le champ Nom d'hôte ou adresse IP, saisissez un nom d'hôte ou une adresse IP publique que Datastream peut utiliser pour se connecter à la base de données source. Vous fournissez une adresse IP publique, car vous utilisez la liste d'autorisation d'adresses IP comme méthode de connectivité réseau pour ce tutoriel.
      • Dans le champ Port, saisissez le numéro de port réservé à la base de données source. Pour une base de données MySQL, le port par défaut est généralement 3306.
      • Saisissez un nom d'utilisateur et un mot de passe pour vous authentifier auprès de votre base de données source.
  5. Dans la section Définir les paramètres de connexion, cliquez sur Continuer. La section Sécuriser votre connexion à votre source de la page Créer un profil MySQL est active.

  6. Dans le menu Type de chiffrement, sélectionnez Aucun. Pour en savoir plus sur ce menu, consultez Créer un profil de connexion pour la base de données MySQL.

  7. Dans la section Sécuriser votre connexion à votre source, cliquez sur Continuer. La section Définir une méthode de connectivité de la page Créer un profil MySQL est active.

  8. Dans la liste déroulante Méthode de connectivité, choisissez la méthode de mise en réseau que vous souhaitez utiliser pour établir la connectivité entre Datastream et la base de données source. Pour ce tutoriel, sélectionnez Liste d'autorisation d'adresses IP comme méthode de connectivité.

  9. Configurez votre base de données source pour autoriser les connexions entrantes en provenance des adresses IP publiques Datastream qui s'affichent.

  10. Dans la section Définir une méthode de connectivité, cliquez sur Continuer. La section Tester le profil de connexion de la page Créer un profil MySQL est active.

  11. Cliquez sur Run test (Exécuter le test) pour vérifier que la base de données source et Datastream peuvent communiquer l'un avec l'autre.

  12. Vérifiez que l'état Test réussi s'affiche.

  13. Cliquez sur Créer.

Créer un profil de connexion de destination pour Cloud Storage

  1. Dans la console Google Cloud, accédez à la page Profils de connexion pour Datastream.

    Accéder à la page Profils de connexion

  2. Cliquez sur Créer un profil.

  3. Pour créer un profil de connexion de destination pour Cloud Storage, cliquez sur le type de profil Cloud Storage sur la page Créer un profil de connexion.

  4. Sur la page Créer un profil Cloud Storage, fournissez les informations suivantes:

    • Dans le champ Nom du profil de connexion, saisissez My Destination Connection Profile.
    • Conservez l'ID du profil de connexion généré automatiquement.
    • Sélectionnez la région dans laquelle vous souhaitez stocker le profil de connexion.
    • Dans le volet Détails de la connexion, cliquez sur Parcourir pour sélectionner le bucket my-integration-bucket que vous avez créé précédemment dans ce tutoriel. Il s'agit du bucket dans lequel Datastream transfère les données de la base de données source. Une fois votre sélection effectuée, cliquez sur Sélectionner.

      Votre bucket apparaît dans le champ Nom du bucket du volet Détails de la connexion.

    • Dans le champ Préfixe du chemin d'accès au profil de connexion, indiquez un préfixe pour le chemin que vous souhaitez ajouter au nom du bucket lorsque Datastream diffuse des données vers la destination. Assurez-vous que Datastream écrit les données dans un chemin d'accès à l'intérieur du bucket, et non dans le dossier racine du bucket. Pour ce tutoriel, utilisez le chemin d'accès que vous avez défini lors de la configuration de votre notification Pub/Sub. Saisissez /integration/tutorial dans le champ.

  5. Cliquez sur Créer.

Après avoir créé un profil de connexion source pour votre base de données MySQL et un profil de connexion de destination pour Cloud Storage, vous pouvez les utiliser afin de créer un flux.

Créer un flux dans Datastream

Dans cette section, vous allez créer un flux. Ce flux utilise les informations des profils de connexion pour transférer des données d'une base de données MySQL source vers un bucket de destination dans Cloud Storage.

Définir les paramètres du flux

  1. Dans la console Google Cloud, accédez à la page Flux pour Datastream.

    Accéder à la page "Flux"

  2. Cliquez sur Créer un flux.

  3. Indiquez les informations suivantes dans le panneau Définir les détails du flux de la page Créer un flux :

    • Dans le champ Nom du flux, saisissez My Stream.
    • Conservez l'ID de flux généré automatiquement.
    • Dans le menu Région, sélectionnez la région dans laquelle vous avez créé vos profils de connexion source et de destination.
    • Dans le menu Source type (Type de source), sélectionnez le type de profil MySQL.
    • Dans le menu Type de destination, sélectionnez le type de profil Cloud Storage.
  4. Passez en revue les conditions préalables requises qui sont générées automatiquement afin de refléter la façon dont votre environnement doit être préparé pour un flux. Ces prérequis peuvent inclure la configuration de la base de données source et la connexion de Datastream au bucket de destination dans Cloud Storage.

  5. Cliquez sur Continuer. Le panneau Définir un profil de connexion MySQL de la page Créer un flux s'affiche.

Spécifier des informations sur le profil de connexion source

Dans cette section, vous sélectionnez le profil de connexion que vous avez créé pour votre base de données source (le profil de connexion source). Pour ce tutoriel, il s'agit de My Source Connection Profile (Mon profil de connexion source).

  1. Dans le menu Profil de connexion source, sélectionnez votre profil de connexion source pour la base de données MySQL.

  2. Cliquez sur Run test (Exécuter le test) pour vérifier que la base de données source et Datastream peuvent communiquer l'un avec l'autre.

    Si le test échoue, le problème associé au profil de connexion s'affiche. Consultez la page Diagnostiquer les problèmes pour connaître la procédure de dépannage. Apportez les modifications nécessaires pour corriger le problème, puis recommencez le test.

  3. Cliquez sur Continuer. Le panneau Configurer la source du flux de la page Créer un flux s'affiche.

Configurer les informations sur la base de données source du flux

Dans cette section, vous allez configurer des informations sur la base de données source du flux en spécifiant les tables et les schémas de la base de données source que Datastream:

  • Transfert possible vers la destination.
  • Transfert restreint vers la destination.

Vous déterminez également si Datastream remplit les données historiques, si elle transmet les modifications en cours à la destination ou si elle ne transmet que les modifications apportées aux données.

  1. Utilisez le menu Objets à inclure pour spécifier les tables et les schémas de votre base de données source que Datastream peut transférer vers un dossier du bucket de destination dans Cloud Storage. Le menu ne se charge que si votre base de données contient au maximum 5 000 objets.

    Pour ce tutoriel, vous souhaitez que Datastream transfère toutes les tables et tous les schémas. Par conséquent, sélectionnez Toutes les tables de tous les schémas dans le menu.

  2. Vérifiez que le panneau Sélectionner les objets à exclure est défini sur Aucun. Vous ne souhaitez pas empêcher Datastream de transférer les tables et les schémas de votre base de données source vers Cloud Storage.

  3. Vérifiez que le panneau Sélectionner le mode de remplissage pour les données historiques est défini sur Automatique. Datastream diffuse toutes les données existantes, en plus des modifications apportées aux données, de la source vers la destination.

  4. Cliquez sur Continuer. Le panneau Définir un profil de connexion Cloud Storage de la page Créer un flux s'affiche.

Sélectionner un profil de connexion de destination

Dans cette section, vous sélectionnez le profil de connexion que vous avez créé pour Cloud Storage (le profil de connexion de destination). Pour ce tutoriel, il s'agit de Mon profil de connexion de destination.

  1. Dans le menu Profil de connexion de destination, sélectionnez votre profil de connexion de destination pour Cloud Storage.

  2. Cliquez sur Continuer. Le panneau Configurer la destination du flux de la page Créer un flux s'affiche.

Configurer les informations sur la destination du flux

Dans cette section, vous allez configurer les informations sur le bucket de destination du flux. Ces informations sont les suivantes :

  • Format de sortie des fichiers écrits dans Cloud Storage.
  • Dossier du bucket de destination dans lequel Datastream transfère les schémas, les tables et les données de la base de données source.
  1. Dans le champ Format de sortie, sélectionnez le format des fichiers écrits dans Cloud Storage. Datastream est compatible avec deux formats de sortie: Avro et JSON. Pour ce tutoriel, le format de fichier est Avro.

  2. Cliquez sur Continuer. Le panneau Vérifier les détails et créer le flux de la page Créer un flux s'affiche.

Créer le flux

  1. Vérifiez les détails du flux, ainsi que les profils de connexion source et de destination utilisés par le flux pour transférer des données depuis une base de données MySQL source vers un bucket de destination dans Cloud Storage.

  2. Pour valider le flux, cliquez sur Exécuter la validation. En validant un flux, Datastream vérifie que la source est correctement configurée, vérifie que le flux peut se connecter à la source et à la destination, et vérifie la configuration de bout en bout du flux.

  3. Une fois tous les contrôles de validation réussis, cliquez sur Créer.

  4. Dans la boîte de dialogue Créer un flux ?, cliquez sur Créer.

Démarrer le flux

Dans ce tutoriel, vous allez créer et démarrer un flux séparément au cas où le processus de création de flux augmenterait la charge sur votre base de données source. Pour éliminer cette charge, vous devez créer le flux sans le démarrer, puis le démarrer lorsque votre base de données peut gérer la charge.

En démarrant le flux, Datastream peut transférer des données, des schémas et des tables de la base de données source vers la destination.

  1. Dans la console Google Cloud, accédez à la page Flux pour Datastream.

    Accéder à la page "Flux"

  2. Cochez la case à côté du flux que vous souhaitez démarrer. Pour ce tutoriel, il s'agit de Mon flux.

  3. Cliquez sur Démarrer.

  4. Dans la boîte de dialogue, cliquez sur Démarrer. L'état du flux passe de Not started à Starting, puis à Running.

Après avoir démarré un flux, vous pouvez vérifier que Datastream a transféré les données de la base de données source vers la destination.

Vérifier le flux

Dans cette section, vous confirmez que Datastream transfère les données de toutes les tables d'une base de données MySQL source vers le dossier /integration/tutorial de votre bucket de destination Cloud Storage. Pour ce tutoriel, le nom de votre bucket est my-integration-bucket.

  1. Dans la console Google Cloud, accédez à la page Flux pour Datastream.

    Accéder à la page "Flux"

  2. Cliquez sur le flux que vous avez créé. Pour ce tutoriel, il s'agit de Mon flux.

  3. Sur la page Détails du flux, cliquez sur le lien my-integration-bucket/integration/tutorial. Ce lien apparaît après le champ Destination write path (Chemin d'écriture de la destination). La page Informations sur le bucket de Cloud Storage s'ouvre dans un onglet distinct.

  4. Vérifiez que vous voyez des dossiers qui représentent des tables de la base de données source.

  5. Cliquez sur l'un des dossiers du tableau, puis sur chaque sous-dossier jusqu'à ce que les données associées au tableau s'affichent.

Créer une tâche Dataflow

Dans cette section, vous allez créer un job dans Dataflow. Une fois que Datastream a transféré les modifications d'une base de données MySQL source vers votre bucket Cloud Storage, Pub/Sub envoie des notifications à Dataflow sur les nouveaux fichiers contenant les modifications. Le job Dataflow traite les fichiers et transfère les modifications dans BigQuery.

  1. Dans la console Google Cloud, accédez à la page Tâches pour Dataflow.

    Accéder à la page "Tâches"

  2. Cliquez sur Create job from template (Créer une tâche à partir d'un modèle).

  3. Dans le champ Job name (Nom de la tâche) de la page Créer une tâche à partir d'un modèle, saisissez un nom pour la tâche Dataflow que vous créez. Pour ce tutoriel, saisissez my-dataflow-integration-job dans le champ.

  4. Dans le menu Point de terminaison régional, sélectionnez la région dans laquelle vous souhaitez stocker la tâche. Il s'agit de la même région que celle que vous avez sélectionnée pour le profil de connexion source, le profil de connexion de destination et le flux que vous avez créés.

  5. Dans le menu Modèle Dataflow, sélectionnez le modèle que vous utilisez pour créer le job. Pour ce tutoriel, sélectionnez Datastream vers BigQuery.

    Une fois cette sélection effectuée, des champs supplémentaires liés à ce modèle s'affichent.

  6. Dans le champ File location for Datastream file output in Cloud Storage. (Emplacement de fichier pour la sortie du fichier Datastream dans Cloud Storage), saisissez le chemin d'accès contenant le nom de votre bucket Cloud Storage. Pour ce tutoriel, saisissez gs://my-integration-bucket.

  7. Dans le champ Abonnement Pub/Sub utilisé dans une règle de notification Cloud Storage, saisissez le chemin d'accès contenant le nom de votre abonnement Pub/Sub. Pour ce tutoriel, saisissez projects/project-name/subscriptions/my_integration_notifs_sub.

  8. Dans le champ Format de fichier de sortie Datastream (avro/json), saisissez avro, car pour ce tutoriel, Avro est le format de fichier des fichiers que Datastream écrit dans Cloud Storage.

  9. Dans le champ Nom ou modèle de l'ensemble de données devant contenir des tables de préproduction, saisissez My_integration_dataset_log, car Dataflow utilise cet ensemble de données pour préparer les modifications de données qu'il reçoit de Datastream.

  10. Dans le champ Template for the dataset to container duplicate tables. (Modèle pour que l'ensemble de données contienne des tables dupliquées), saisissez My_integration_dataset_final, car il s'agit de l'ensemble de données dans lequel les modifications effectuées dans l'ensemble de données My_integration_dataset_log fusionnent pour créer une instance répliquée un à un des tables de la base de données source.

  11. Dans le champ Répertoire de la file d'attente de lettres mortes, saisissez le chemin d'accès contenant le nom de votre bucket Cloud Storage et un dossier pour la file d'attente de lettres mortes. Assurez-vous de ne pas utiliser de chemin d'accès dans le dossier racine et que celui-ci est différent de celui dans lequel Datastream écrit des données. Toutes les modifications de données que Dataflow ne parvient pas à transférer dans BigQuery sont stockées dans la file d'attente. Vous pouvez corriger le contenu de la file d'attente afin que Dataflow puisse le traiter à nouveau.

    Pour ce tutoriel, saisissez gs://my-integration-bucket/dlq dans le champ Répertoire de la file d'attente de lettres mortes (où dlq correspond au dossier de la file d'attente de lettres mortes).

  12. Cliquez sur Run Job (Exécuter la tâche).

Vérifier l'intégration

Dans la section Vérifier le flux de ce tutoriel, vous avez confirmé que Datastream a transféré les données de toutes les tables d'une base de données MySQL source vers le dossier /integration/tutorial de votre bucket de destination Cloud Storage.

Dans cette section, vous allez vérifier que Dataflow traite les fichiers contenant les modifications associées à ces données et transfère ces modifications dans BigQuery. Vous bénéficiez ainsi d'une intégration de bout en bout entre Datastream et BigQuery.

  1. Dans la console Google Cloud, accédez à la page Espace de travail SQL pour BigQuery.

    Accéder à la page "Espace de travail SQL"

  2. Dans le volet Explorateur, développez le nœud à côté du nom de votre projet Google Cloud.

  3. Développez les nœuds à côté des ensembles de données My_integration_dataset_log et My_integration_dataset_final.

  4. Vérifiez que chaque ensemble de données contient maintenant des données. Cela confirme que Dataflow a traité les fichiers contenant des modifications associées aux données que Datastream a diffusées dans Cloud Storage, puis qu'il a transféré ces modifications dans BigQuery.

Effectuer un nettoyage

Pour éviter que les ressources utilisées dans ce tutoriel soient facturées sur votre compte Google Cloud, utilisez la console Google Cloud pour effectuer les opérations suivantes:

  • Supprimez votre projet, ainsi que vos profils de connexion Datastream et Datastream.
  • Arrêtez la tâche Dataflow.
  • Supprimez les ensembles de données BigQuery, le sujet et l'abonnement Pub/Sub, ainsi que le bucket Cloud Storage.

En nettoyant les ressources que vous avez créées dans Datastream, Dataflow, BigQuery, Pub/Sub et Cloud Storage, vous évitez qu'elles soient comptabilisées dans votre quota et ne vous soient plus facturées.

Supprimer votre projet

Le moyen le plus simple d'empêcher la facturation est de supprimer le projet que vous avez créé pour ce tutoriel.

  1. Dans la console Google Cloud, accédez à la page Gérer les ressources.

    Accéder à la page Gérer les ressources

  2. Dans la liste des projets, sélectionnez le projet que vous souhaitez supprimer, puis cliquez sur Supprimer.

  3. Pour supprimer le projet, saisissez son ID dans la boîte de dialogue, puis cliquez sur Arrêter.

Supprimer le flux

  1. Dans la console Google Cloud, accédez à la page Flux pour Datastream.

    Accéder à la page "Flux"

  2. Cliquez sur le flux que vous souhaitez supprimer. Pour ce tutoriel, il s'agit de Mon flux.

  3. Cliquez sur Mettre en veille.

  4. Dans la boîte de dialogue, cliquez sur Mettre en veille.

  5. Dans le volet État du flux de la page Détails du flux, vérifiez que l'état du flux est Paused.

  6. Cliquez sur Supprimer.

  7. Dans le champ de texte de la boîte de dialogue, saisissez Delete, puis cliquez sur Delete (Supprimer).

Supprimer les profils de connexion

  1. Dans la console Google Cloud, accédez à la page Profils de connexion pour Datastream.

    Accéder à la page Profils de connexion

  2. Cochez les cases correspondant à chaque profil de connexion que vous souhaitez supprimer: Mon profil de connexion source et Mon profil de connexion de destination.

  3. Cliquez sur Supprimer.

  4. Dans la boîte de dialogue, cliquez sur Supprimer.

Arrêter la tâche Dataflow

  1. Dans la console Google Cloud, accédez à la page Tâches pour Dataflow.

    Accéder à la page "Tâches"

  2. Cliquez sur la tâche que vous souhaitez arrêter. Pour ce tutoriel, il s'agit de my-dataflow-integration-job.

  3. Cliquez sur Arrêter.

  4. Dans la boîte de dialogue Stop job (Arrêter la tâche), sélectionnez l'option Drain (Drainer), puis cliquez sur Stop job (Arrêter la tâche).

Supprimer les ensembles de données BigQuery

  1. Dans la console Google Cloud, accédez à la page Espace de travail SQL pour BigQuery.

    Accéder à la page "Espace de travail SQL"

  2. Dans le volet Explorateur, développez le nœud à côté du nom de votre projet Google Cloud.

  3. Cliquez sur le bouton Afficher les actions situé à droite de l'un des ensembles de données que vous avez créés dans Créer des ensembles de données dans BigQuery. Ce bouton ressemble à des points de suspension verticaux.

    Pour ce tutoriel, cliquez sur le bouton Afficher les actions à droite de My_integration_dataset_log.

  4. Sélectionnez Supprimer dans le menu déroulant qui s'affiche.

  5. Dans la boîte de dialogue Supprimer l'ensemble de données, saisissez delete dans le champ de texte, puis cliquez sur Supprimer.

  6. Répétez les étapes de cette procédure pour supprimer le second ensemble de données que vous avez créé: My_integration_dataset_final.

Supprimer l'abonnement et le sujet Pub/Sub

  1. Dans la console Google Cloud, accédez à la page Abonnements pour Pub/Sub.

    Accéder à la page Abonnements

  2. Cochez la case à côté de l'abonnement que vous souhaitez supprimer. Pour ce tutoriel, cochez la case à côté de l'abonnement my_integration_notifs_sub.

  3. Cliquez sur Supprimer.

  4. Dans la boîte de dialogue Supprimer l'abonnement, cliquez sur Supprimer.

  5. Dans la console Google Cloud, accédez à la page Sujets pour Pub/Sub.

    Accéder à la page Sujets

  6. Cochez la case à côté du sujet my_integration_notifs.

  7. Cliquez sur Supprimer.

  8. Dans la boîte de dialogue Supprimer le sujet, saisissez delete dans le champ de texte, puis cliquez sur Supprimer.

Supprimer votre bucket Cloud Storage

  1. Dans la console Google Cloud, accédez à la page Navigateur de Cloud Storage.

    Accéder à la page du navigateur

  2. Cochez la case située à côté de votre bucket. Pour ce tutoriel, il s'agit de my-integration-bucket.

  3. Cliquez sur Supprimer.

  4. Dans la boîte de dialogue, saisissez Delete dans le champ de texte, puis cliquez sur Delete (Supprimer).

Étapes suivantes