Source par lot BigQuery

Cette page fournit des conseils sur la configuration du plug-in source par lot BigQuery dans Cloud Data Fusion.

Le plug-in source BigQuery vous permet de connecter et de charger des données à partir de tables BigQuery. Les données d'une table BigQuery sont exportées vers un emplacement temporaire dans Cloud Storage, puis lues dans le pipeline à partir de là.

Avant de commencer

Cloud Data Fusion comporte généralement deux comptes de service:

Avant d'utiliser le plug-in source par lot BigQuery, accordez les rôles ou autorisations suivants à chaque compte de service.

Agent de service de l'API Cloud Data Fusion

Ce compte de service dispose déjà de toutes les autorisations requises. Vous n'avez pas besoin d'ajouter d'autorisations supplémentaires. Pour référence, il dispose des autorisations suivantes:

  • bigquery.datasets.get
  • bigquery.tables.create
  • bigquery.tables.get
  • bigquery.tables.updateData
  • bigquery.tables.update
  • bigquery.tables.export

Si vous utilisez un compte de service d'espace de noms en plus du compte de service par défaut au moment de la conception, ajoutez-y les autorisations de la liste précédente.

Compte de service Compute Engine

Dans votre projet Google Cloud, accordez les autorisations ou rôles IAM suivants au compte de service Compute Engine:

  • Utilisateur de tâche BigQuery (roles/bigquery.jobUser) : ce rôle prédéfini contient l'autorisation bigquery.jobs.create requise.
  • Éditeur de données BigQuery (roles/bigquery.dataEditor). Ce rôle prédéfini contient les autorisations requises suivantes:

    • bigquery.datasets.get
    • bigquery.tables.create
    • bigquery.tables.get
    • bigquery.tables.updateData
    • bigquery.tables.update
    • bigquery.tables.export

Ces rôles et autorisations peuvent également être attribués sur l'ensemble de données ou la table BigQuery, en fonction de votre cas d'utilisation.

  • Rédacteur des anciens buckets Storage (roles/storage.legacyBucketWriter). Ce rôle prédéfini contient les autorisations requises suivantes:

    • storage.buckets.get
    • storage.objects.get
    • storage.objects.list

Ce rôle et ces autorisations peuvent également être attribués sur le bucket Cloud Storage, en fonction de votre cas d'utilisation.

Configurer le plug-in

  1. Accédez à l'interface Web de Cloud Data Fusion, puis cliquez sur Studio.
  2. Vérifiez que l'option Pipeline de données – Lot est sélectionnée (et non Temps réel).
  3. Dans le menu Source, cliquez sur BigQuery. Le nœud BigQuery apparaît dans votre pipeline.
  4. Pour configurer la source, accédez au nœud BigQuery et cliquez sur Properties (Propriétés).
  5. Saisissez les propriétés suivantes. Pour obtenir la liste complète, consultez la section Propriétés.

    1. Saisissez un libellé pour le nœud BigQuery (par exemple, BigQuery tables).
    2. Saisissez les détails de la connexion. Vous pouvez configurer une nouvelle connexion ponctuelle ou une connexion existante réutilisable.

      Nouvelle connexion

      Pour ajouter une connexion unique à BigQuery, procédez comme suit:

      1. Dans le champ ID du projet, laissez la valeur définie sur "Détection automatique".
      2. Si l'ensemble de données BigQuery se trouve dans un autre projet, saisissez l'ID dans le champ Dataset Project ID (ID du projet de l'ensemble de données).
      3. Dans le champ Type de compte de service, choisissez l'une des options suivantes et saisissez le contenu dans le champ suivant:

        • Chemin d'accès au fichier
        • JSON

      Connexion réutilisable

      Pour réutiliser une connexion existante, procédez comme suit:

      1. Activez l'option Utiliser une connexion.
      2. Cliquez sur Parcourir les connexions.
      3. Cliquez sur le nom de la connexion, par exemple BigQuery par défaut.

      4. Facultatif: Si aucune connexion n'existe et que vous souhaitez créer une connexion réutilisable, cliquez sur Ajouter une connexion et reportez-vous aux étapes de l'onglet Nouvelle connexion de cette page.

    3. Dans le champ Nom de la référence, saisissez un nom à utiliser pour la traçabilité.

    4. Facultatif: Si votre ensemble de données est déjà disponible dans votre instance, cliquez sur Parcourir, puis sélectionnez les données à lire.

    5. Dans le champ Ensemble de données, saisissez le nom de l'ensemble de données contenant la table.

    6. Dans le champ Table, saisissez le nom de la table.

    7. Pour tester la connectivité, cliquez sur Obtenir un schéma.

    8. Facultatif: Dans le champ Partition start date (Date de début de la partition), saisissez la chaîne de date de début inclusive (par exemple, 2021-01-11).

    9. Facultatif: Dans le champ Partition end date (Date de fin de la partition), saisissez la chaîne de date de fin inclusive (par exemple, 2024-01-11).

    10. Facultatif: Dans le champ Filtre, saisissez une clause WHERE BigQuery.

    11. Facultatif: dans le champ Nom du bucket temporaire, saisissez un nom pour le bucket Cloud Storage.

    12. Facultatif: dans le champ Nom de la clé de chiffrement, saisissez le nom de la clé de chiffrement Cloud Key Management Service (Cloud KMS). Pour en savoir plus, consultez la section Obtenir le nom de ressource pour la clé.

    13. (Facultatif) Activez l'option Activer les vues de requêtes. Si vous les activez, procédez comme suit:

      • Dans le champ Projet de création de table temporaire, saisissez le nom du projet dans lequel la table temporaire est créée.
      • Dans le champ Ensemble de données de création de table temporaire, saisissez le nom de l'ensemble de données dans lequel la table temporaire est créée.
    14. (Facultatif) Cliquez sur Valider et corrigez les erreurs détectées.

    15. Cliquez sur Fermer. Les propriétés sont enregistrées et vous pouvez continuer à créer votre pipeline de données dans l'interface Web de Cloud Data Fusion.

Propriétés

Propriété Macro activée Propriété obligatoire Description
Libellé Non Oui Nom du nœud dans votre pipeline de données.
Utiliser la connexion Non Non Recherchez une connexion réutilisable à la source. Pour en savoir plus sur l'ajout, l'importation et la modification des connexions qui apparaissent lorsque vous parcourez les connexions, consultez Gérer les connexions.
Connexion Oui Oui Si l'option Utiliser la connexion est activée, le nom de la connexion réutilisable que vous avez sélectionnée apparaît dans ce champ.
ID du projet Oui Non Utilisé uniquement lorsque l'option Utiliser la connexion est désactivée. Identifiant unique global pour le projet dans lequel la tâche BigQuery est exécutée.
La valeur par défaut est auto-detect.
ID du projet de l'ensemble de données Oui Non Utilisée uniquement lorsque l'option Utiliser la connexion est désactivée. Si l'ensemble de données se trouve dans un projet différent de celui dans lequel la tâche BigQuery est exécutée, cette valeur correspond à l'identifiant unique du projet associé à l'ensemble de données BigQuery. Si aucune valeur n'est spécifiée, la valeur par défaut du champ est Project ID (ID du projet). Le rôle Lecteur de données BigQuery doit être accordé au compte de service spécifié pour qu'il puisse lire les données BigQuery sur le projet.
Type de compte de service Oui Non Sélectionnez l'une des options suivantes:
  • Chemin d'accès au fichier: chemin d'accès au compte de service.
  • JSON : contenu JSON du compte de service.
Chemin d'accès au fichier du compte de service Oui Non Utilisé uniquement lorsque la valeur du type de compte de service est File path (Chemin d'accès au fichier). Chemin d'accès sur le système de fichiers local de la clé de compte de service utilisée pour l'autorisation. Si des jobs sont exécutés sur des clusters Dataproc, définissez la valeur sur "Détection automatique". Si des tâches sont exécutées sur d'autres types de clusters, le fichier doit être présent sur chaque nœud du cluster.
La valeur par défaut est auto-detect.
JSON du compte de service Oui Non Utilisé uniquement lorsque la valeur du type de compte de service est JSON. Contenu du fichier JSON du compte de service.
Reference name (Nom de référence) Non Oui Nom qui identifie de manière unique cette source pour les autres services, tels que la traçabilité et l'annotation de métadonnées.
Ensemble de données Oui Oui Ensemble de données auquel appartient le tableau. Un ensemble de données est contenu dans un projet spécifique. Les ensembles de données sont des conteneurs de niveau supérieur qui organisent et contrôlent l'accès aux tables et aux vues.
Table Oui Oui Tableau à lire. Une table contient des enregistrements individuels organisés en lignes. Chaque enregistrement est composé de colonnes (également appelées champs). Chaque table est définie par un schéma qui décrit les noms de colonne, les types de données et d'autres informations.
Date de début de la partition Oui Non Date de début de partition inclusive, spécifiée en tant que yyyy-mm-dd. Si aucune valeur n'est spécifiée, toutes les partitions jusqu'à la date de fin de la partition seront lues.
Date de fin de la partition Oui Non Date de fin exclusive de la partition, spécifiée en tant que yyyy-mm-dd. Si aucune valeur n'est spécifiée, toutes les partitions ultérieures à la date de début de la partition sont lues.
Filter Oui Non Requête SQL qui filtre les conditions données. Par exemple, cette requête renvoie toutes les lignes de la table Roster dans lesquelles la colonne SchoolID a la valeur SchoolID > 52:
SELECT * FROM Roster WHERE SchoolID > 52;. Cela correspond à la clause WHERE dans BigQuery.
Nom de bucket temporaire Oui Non Bucket Cloud Storage pour le stockage temporaire des données. S'il n'existe pas, il est automatiquement créé. Les données temporaires sont supprimées une fois lues. Si aucun nom n'est fourni, un bucket unique est créé, puis supprimé une fois l'exécution terminée.
Nom de la clé de chiffrement Oui Non Clé qui chiffre les données écrites dans n'importe quel bucket créé par le plug-in. Si le bucket existe, cette valeur est ignorée. Pour en savoir plus, consultez CMEK.
Activer les vues de requêtes Oui Non Permet d'autoriser ou non les vues logiques et matérialisées BigQuery. Étant donné que les vues BigQuery ne sont pas activées par défaut, leur requête peut affecter les performances.
La valeur par défaut est "Non".
Projet de création de tables temporaires Oui Non Utilisé uniquement lorsque l'option Activer les vues de requête est activée. Nom du projet dans lequel la table temporaire doit être créée. La valeur par défaut correspond au projet dans lequel se trouve la table.
Ensemble de données de création de tables temporaires Oui Non Ensemble de données du projet spécifié dans lequel la table temporaire doit être créée. La valeur par défaut est le même ensemble de données que celui dans lequel se trouve la table.
Schéma de sortie Oui Oui Schéma de la table à lire. Vous pouvez le récupérer en cliquant sur Obtenir un schéma.

Mappages des types de données

Le tableau suivant est une liste des types de données BigQuery avec les types CDAP correspondants.

Type de données BigQuery Type de données du schéma CDAP
BOOL boolean
BYTES bytes
DATE date
DATETIME datetime, string
FLOAT64 double
GEO unsupported
INT64 long
NUMERIC decimal
BIGNUMERIC decimal
REPEATED array
STRING string, datetime (format ISO 8601)
STRUCT record
TIME time (microsecondes)
TIMESTAMP timestamp (microsecondes)
JSON unsupported

Étapes suivantes