Utiliser des sources et des destinations de données

Cloud Dataflow SQL autorise la lecture de données depuis des sujets Cloud Pub/Sub et des tables BigQuery, et l'écriture de données dans des tables BigQuery.

Pour utiliser Cloud Dataflow SQL et ajouter des sources Cloud Dataflow, vous devez basculer vers l'interface utilisateur Cloud Dataflow SQL.

Pub/Sub

Lire à partir d'un sujet Pub/Sub

L’interface utilisateur Cloud Dataflow SQL permet de rechercher des objets sources de données Cloud Pub/Sub dans n'importe quel projet auquel vous avez accès. Vous n'avez pas besoin de mémoriser les noms complets des sujets.

Pour ajouter un sujet en tant que source Cloud Dataflow, ce sujet doit comporter un schéma. Pour voir un exemple détaillant l'attribution d'un schéma, consultez la section Affecter un schéma à votre sujet Cloud Pub/Sub.

Ajouter un sujet Pub/Sub en tant que source Cloud Dataflow

Pour ajouter vos sujets Cloud Pub/Sub à la section Ressources du panneau de navigation de gauche, vous devez ajouter les sujets en tant que sources Cloud Dataflow.

  1. Dans le panneau de navigation de gauche, cliquez sur Add Data (Ajouter des données) dans la liste déroulante, puis sélectionnez Cloud Dataflow sources (Sources Cloud Dataflow).

    Sous Ajouter des données, sélectionnez les sources Dataflow

  2. Dans le panneau Add Cloud Dataflow source (Ajouter une source Cloud Dataflow) qui s'ouvre sur la droite, sélectionnez Cloud Pub/Sub topics (Sujets Cloud Pub/Sub). Dans le champ de recherche, saisissez l'intitulé d'un sujet. Sélectionnez le sujet et cliquez sur Add (Ajouter).

    La capture d'écran suivante montre un exemple de recherche effectuée sur le sujet transactions :

    Rechercher le sujet Pub/Sub intitulé transactions

  3. La section Resources (Ressources) du panneau de navigation de gauche affiche les sujets Cloud Pub/Sub que vous avez ajoutés. Pour afficher la liste des sujets, développez la section Cloud Dataflow sources (Sources Cloud Dataflow) puis la section Cloud Pub/Sub topics (Sujets Cloud Pub/Sub).

Afficher le schéma d'un sujet

Pour afficher le schéma d'un sujet donné, développez la section Cloud Dataflow sources (Sources Cloud Dataflow) dans la section Resources (Ressources du panneau de navigation de gauche. Développez ensuite la section Cloud Pub/Sub topics (Sujets Cloud Pub/Sub). Cliquez sur un sujet pour afficher les informations relatives à cette ressource dans le volet des détails, en particulier son Schema (Schéma). Le schéma contient les champs suivants :

  • event_timestamp : le champ suivi par le filigrane.
  • attributes : les attributs du message Cloud Pub/Sub.
  • payload : le contenu du message Cloud Pub/Sub. Les messages Cloud Pub/Sub doivent se présenter au format JSON comme décrit dans la page de référence de la bibliothèque de diffusion JSON. Par exemple, vous pouvez insérer des messages au format {"k1":"v1", "k2":"v2"} dans une ligne BigQuery imbriquée payload comportant deux champs nommés k1 et k2, en utilisant le type de données "chaîne". Vous devez sérialiser tous les champs figurant dans le schéma, quelle que soit leur valeur (nulle ou non nulle). Ainsi, pour des champs NULLABLE, vous devez sérialiser le champ dans le code JSON avec une valeur NULL. Si votre JSON ne contient pas ce champ, Cloud Dataflow SQL renvoie une erreur.

La capture d'écran suivante illustre le schéma du sujet transactions.

Afficher le schéma du sujet transactions

Utiliser un sujet dans une requête

Vous pouvez spécifier un sujet Cloud Pub/Sub à l'aide d'une liste complète d'identifiants séparés par des points, suivant la structure lexicale SQL standard.

  pubsub.topic.project-id.topic-name

Vous devez utiliser des accents graves pour délimiter des identifiants contenant des caractères autres que des lettres, des chiffres ou des traits de soulignement.

Par exemple, la chaîne suivante spécifie le sujet Cloud Pub/Sub daily.transactions du projet dataflow-sql.

  pubsub.topic.`dataflow-sql`.`daily.transactions`

Vous pouvez également spécifier le sujet dans l'éditeur de requête en le sélectionnant dans la section Ressources du panneau de navigation de gauche. Développez la section Cloud Dataflow sources (Sources Cloud Dataflow), puis la section Cloud Pub/Sub topics (Sujets Cloud Pub/Sub). Une fois que vous avez cliqué sur un sujet dans le panneau de navigation, vous pouvez cliquer sur le bouton Query topic (Interroger le sujet) dans la partie droite du volet des détails. Une requête de base correspondant à ce sujet est alors automatiquement insérée dans la zone de requête.

La capture d'écran suivante illustre la requête insérée automatiquement dans la zone de requête :

Le bouton Interroger le sujet insère les informations dans la zone de requête

Utilisez le schéma du sujet pour rédiger votre propre requête SQL. Lorsque vous saisissez une requête dans l'interface utilisateur de Cloud Dataflow SQL, l'outil de validation des requêtes valide la syntaxe de la requête. Une icône en forme de coche verte s'affiche si la requête est valide. Si la requête n'est pas valide, une icône en forme de point d'exclamation rouge apparaît. Dans le cas où la syntaxe de votre requête n'est pas valide, cliquez sur l'icône de l'outil de validation pour obtenir des informations sur les problèmes à résoudre.

La requête d'enrichissement des données suivante ajoute un champ sales_region à un flux d'événements Cloud Pub/Sub (transactions). Les régions d'activité commerciale (sales_regions) proviennent d'une table BigQuery (us_state_salesregions) qui met en correspondance les États et les régions.

Saisissez votre requête dans l'éditeur

BigQuery

Lire à partir d'une table BigQuery

Ajouter une table BigQuery en tant que source Cloud Dataflow

Vous n'avez pas besoin d'ajouter votre table BigQuery en tant que source Cloud Dataflow pour pouvoir ajouter des ensembles et tables de données dans la section Ressources du panneau de navigation de gauche. Vous pouvez développer les projets épinglés dans la section Resources (Ressources) pour afficher les tables et ensembles de données BigQuery associés. Si votre table BigQuery se trouve dans un projet non répertorié dans la section Resources (Ressources), vous pouvez épingler le projet (option PIN PROJECT) pour l'ajouter à la liste.

Afficher le schéma d'une table

Pour afficher le schéma d'une table donnée, localisez le projet dans la section Resources (Ressources) du panneau de navigation de gauche. Cliquez sur l'icône Icône Développer l'ensemble de données à côté de votre projet pour afficher les ensembles de données qu'il contient. Ensuite, cliquez sur l'icône Développer l'ensemble de données située en regard d'un ensemble de données pour le développer et afficher les tables qu'il contient. Vous pouvez également utiliser le champ de recherche pour localiser un ensemble de données ou une table spécifique.

Cliquez sur une table pour afficher les informations relatives à cette ressource dans le volet des détails, en particulier son Schema (Schéma).

Utiliser une table dans une requête

Vous pouvez spécifier une table BigQuery à l'aide d'une liste complète d'identifiants séparés par des points, suivant la structure lexicale SQL standard.

  bigquery.table.project-id.my_dataset.my_table

Vous devez utiliser des accents graves pour délimiter des identifiants contenant des caractères autres que des lettres, des chiffres ou des traits de soulignement.

Par exemple, la chaîne suivante spécifie un sujet Pub/Sub (dataflow_sql_dataset) et une table (us_state_salesregions) faisant partie du projet dataflow-sql.

  bigquery.table.`dataflow-sql`.dataflow_sql_dataset.us_state_salesregions

Vous pouvez également spécifier la chaîne correspondante dans l'éditeur de requête en sélectionnant la table dans la section Resources (Ressources) du panneau de navigation de gauche. Localisez votre projet dans la section Resources, développez-le, puis développez l'ensemble de données contenant la table que vous souhaitez utiliser. Une fois que vous avez cliqué sur une table dans le panneau de navigation, vous pouvez cliquer sur le bouton Query Table (Exécuter une requête sur la table) dans la partie droite du volet des détails. Une requête de base correspondant à cette table est alors automatiquement insérée dans la zone de requête.

La capture d'écran suivante illustre la requête insérée automatiquement dans la zone de requête :

Le bouton Envoyer une requête au tableau insère les informations dans la zone de requête

Utilisez le schéma de la table pour rédiger votre propre requête SQL. Lorsque vous saisissez une requête dans l'interface utilisateur de Cloud Dataflow SQL, l'outil de validation des requêtes valide la syntaxe de la requête. Une icône en forme de coche verte s'affiche si la requête est valide. Si la requête n'est pas valide, une icône en forme de point d'exclamation rouge apparaît. Dans le cas où la syntaxe de votre requête n'est pas valide, cliquez sur l'icône de l'outil de validation pour obtenir des informations sur les problèmes à résoudre.

La requête d'enrichissement des données suivante utilise une table BigQuery (us_state_salesregions) qui met en correspondance les États et les zones commerciales pour insérer un champ supplémentaire (sales_region) dans un flux d'événements Cloud Pub/Sub.

Saisissez votre requête dans l'éditeur

Écrire dans une table BigQuery

Lorsque vous créez une tâche Cloud Dataflow pour exécuter votre requête BigQuery, vous devez choisir la table BigQuery vers laquelle envoyer les résultats. Tenez compte des prérequis et considérations suivants :

  • L'ensemble de données de destination doit exister avant de cliquer sur Créer une tâche Cloud Dataflow.
  • Si la table de destination n'existe pas, la tâche crée une nouvelle table portant le nom spécifié.
  • Si la table de destination existe, elle doit être vide.
Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Besoin d'aide ? Consultez notre page d'assistance.