Guide de démarrage rapide avec des modèles

Cette page explique comment créer un pipeline de traitement par flux à l'aide d'un modèle Cloud Dataflow fourni par Google. Plus précisément, nous utiliserons ici le modèle Cloud Pub/Sub Topic to BigQuery (Sujet Cloud Pub/Sub vers BigQuery) à titre d'exemple.

Avant de commencer

  1. Connectez-vous à votre compte Google.

    Si vous n'en possédez pas déjà un, vous devez en créer un.

  2. Dans la page de sélection du projet de la console GCP, sélectionnez ou créez un projet GCP.

    Accéder à la page de sélection du projet

  3. Assurez-vous que la facturation est activée pour votre projet Google Cloud Platform. Découvrez comment confirmer que la facturation est activée pour votre projet.

  4. Activez les Cloud Dataflow, Compute Engine, Stackdriver Logging, Google Cloud Storage, Google Cloud Storage JSON, BigQuery, Cloud Pub/Sub, and Cloud Resource Manager API requises.

    Activer les API

  5. Créez un bucket Cloud Storage :
    1. Dans la console GCP, accédez au navigateur Cloud Storage.

      Accéder au navigateur Cloud Storage

    2. Cliquez sur Créer un bucket.
    3. Dans la boîte de dialogue Créer un bucket, spécifiez les attributs suivants :
      • Nom : nom de bucket unique. N'incluez aucune information sensible dans le nom des buckets, car leur espace de noms est global et visible par tous.
      • Classe de stockage: Multirégionale
      • Un emplacement où seront stockées les données du bucket.
    4. Cliquez sur Créer.

Créer un ensemble de données et une table Cloud BigQuery

Créez un ensemble de données et une table BigQuery avec le schéma approprié pour votre sujet Cloud Pub/Sub à l'aide de Google Cloud Shell ou de la console GCP.

Dans cet exemple, le nom de l'ensemble de données est taxirides et le nom de la table est realtime.

Utiliser Cloud Shell

Utilisez Cloud Shell pour créer un ensemble de données et une table.

  1. Exécutez cette commande pour créer votre ensemble de données :
    bq mk taxirides
    Le résultat doit être semblable à ceci :
    Dataset “myprojectid:taxirides” successfully created
  2. Exécutez cette commande pour créer votre table :
    bq mk \
    --time_partitioning_field timestamp \
    --schema ride_id:string,point_idx:integer,latitude:float,longitude:float,\
    timestamp:timestamp,meter_reading:float,meter_increment:float,ride_status:string,\
    passenger_count:integer -t taxirides.realtime
    Le résultat doit être semblable à ceci :
    Table “myprojectid:taxirides.realtime” successfully created

    La table est partitionnée pour réduire les coûts de requête et améliorer les performances.

Utiliser la console Google Cloud Platform

Utilisez la console Google Cloud Platform pour créer un ensemble de données et une table.

  1. Accédez à l'interface utilisateur Web de BigQuery.
    ACCÉDER À L'INTERFACE UTILISATEUR WEB DE BIGQUERY
  2. Dans le volet de navigation, cliquez sur la flèche vers le bas située à côté du nom de votre projet, puis sur Créer un ensemble de données. Saisissez taxirides en tant qu'identifiant de l'ensemble de données.

    Le bouton Créer un ensemble de données se situe dans l'interface utilisateur de BigQuery.

    Les identifiants d'ensembles de données sont uniques pour chaque projet. Cliquez sur le point d'interrogation pour afficher les limitations relatives aux identifiants.

  3. Ne modifiez aucun autre paramètre par défaut et cliquez sur OK.
  4. Dans la barre de navigation, passez la souris sur l'identifiant de l'ensemble de données que vous venez de créer. Cliquez sur la flèche vers le bas en regard de l'identifiant, puis sur Create Table (Créer une table).
  5. Dans Source Data (Données sources), sélectionnez Create empty table (Créer une table vide).
  6. Dans Destination Table (Table de destination), sélectionnez taxirides et saisissez realtime.
  7. Dans Schema (Schéma), sélectionnez Edit as Text (Modifier sous forme de texte), puis saisissez :
    ride_id:string,point_idx:integer,latitude:float,longitude:float,timestamp:timestamp,
    meter_reading:float,meter_increment:float,ride_status:string,passenger_count:integer
  8. Dans Options, sélectionnez l'option Day (Jour) pour le champ Partitioning type (Type de partitionnement).
  9. Dans Options, sélectionnez la colonne timestamp (horodatage) pour le sélecteur Partitioning Field (Champ de partitionnement).
  10. Cliquez sur le bouton Create Table (Créer une table).
  11. Configurer BigQuery

Exécuter le pipeline

Exécutez un pipeline de traitement par flux à l'aide du modèle Sujet Cloud Pub/Sub vers BigQuery fourni par Google.

  1. Accédez à l'interface utilisateur Web de Cloud Dataflow.
    ACCÉDER À L'INTERFACE UTILISATEUR WEB DE CLOUD DATAFLOW
  2. Cliquez sur Create job from template (Créer une tâche à partir d'un modèle).
  3. Saisissez un nom de tâche dans le champ Job name pour votre tâche Cloud Dataflow.
  4. Dans Cloud Dataflow template (Modèle Cloud Dataflow), sélectionnez le modèle Cloud Pub/Sub Topic to BigQuery (Sujet Cloud Pub/Sub vers BigQuery).
  5. Dans Cloud Pub/Sub input topic (Sujet Cloud Pub/Sub d'entrée), saisissez projects/pubsub-public-data/topics/taxirides-realtime. Le pipeline reçoit des données entrantes à partir du sujet d'entrée.
  6. Dans BigQuery output table (Table de sortie BigQuery), saisissez <myprojectid>:taxirides.realtime.
  7. Dans Temporary Location (Emplacement temporaire), saisissez gs://<mybucket>/tmp/. Il s'agit d'un sous-dossier utilisé pour stocker les fichiers temporaires, tels que les tâches de pipeline intermédiaires.
  8. Cliquez sur le bouton Run job (Exécuter la tâche).
  9. Cloud Dataflow – Créer une tâche
  10. Affichez les données écrites dans BigQuery. Accédez à l'interface utilisateur Web de BigQuery.
    ACCÉDER À L'INTERFACE UTILISATEUR WEB DE BIGQUERY
    Vous pouvez envoyer des requêtes en langage SQL standard. Par exemple, la requête suivante sélectionne toutes les lignes qui ont été ajoutées au cours des dernières 24 heures :
    SELECT * FROM `myprojectid.taxirides.realtime`
    WHERE `timestamp` > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 DAY)
    LIMIT 1000

Nettoyer

Afin d'éviter que des frais ne soient facturés sur votre compte GCP pour les ressources utilisées dans ce démarrage rapide, procédez comme suit :

  1. Accédez à l'interface utilisateur Web de Cloud Dataflow.
    ACCÉDER À L'INTERFACE UTILISATEUR WEB DE CLOUD DATAFLOW
    1. Vous devrez peut-être sélectionner votre tâche de traitement par flux dans la liste de tâches de la console Google Cloud Platform.
    2. Dans la barre de navigation, cliquez sur Annuler.
    3. Dans la boîte de dialogue Annuler, sélectionnez Annuler ou Drainer pour votre pipeline.
  2. Accédez à l'interface utilisateur Web de BigQuery.
    ACCÉDER À L'INTERFACE UTILISATEUR WEB DE BIGQUERY
    1. Dans la barre de navigation, passez la souris sur l'ensemble de données taxirides que vous avez créé.
    2. Cliquez sur la flèche vers le bas en regard du nom de l'ensemble de données dans la fenêtre de navigation, puis cliquez sur Supprimer l'ensemble de données.
    3. Dans la boîte de dialogue Delete dataset (Supprimer l'ensemble de données), confirmez la commande de suppression en saisissant le nom de l'ensemble de données (taxirides), puis cliquez sur OK.

Étapes suivantes