Le plug-in de source BigQuery vous permet de vous 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 compte généralement deux comptes de service:
- Compte de service au moment de la conception : Agent de service de l'API Cloud Data Fusion
- Compte de service au moment de l'exécution : Compte de service Compute Engine
Avant d'utiliser le plug-in de source de 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 et vous n'avez pas besoin d'en ajouter d'autres. Pour information, 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 Google Cloud projet, attribuez les rôles ou autorisations IAM suivants au compte de service Compute Engine:
- Utilisateur de tâche BigQuery (
roles/bigquery.jobUser
) : ce rôle prédéfini contient l'autorisationbigquery.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 à l'ensemble de données ou à la table BigQuery, selon 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 au bucket Cloud Storage, en fonction de votre cas d'utilisation.
Configurer le plug-in
- Accédez à l'interface Web de Cloud Data Fusion, puis cliquez sur Studio.
- Vérifiez que Pipeline de données – lot est sélectionné (et non Temps réel).
- Dans le menu Source, cliquez sur BigQuery. Le nœud BigQuery apparaît dans votre pipeline.
- Pour configurer la source, accédez au nœud BigQuery, puis cliquez sur Propriétés.
Saisissez les propriétés suivantes. Pour obtenir la liste complète, consultez la section Propriétés.
- Saisissez un libellé pour le nœud BigQuery (par exemple,
BigQuery tables
). Saisissez les informations de connexion. Vous pouvez configurer une connexion ponctuelle ou une connexion existante réutilisable.
Nouvelle connexion
Pour ajouter une connexion ponctuelle à BigQuery, procédez comme suit:
- Dans le champ ID de projet, laissez la valeur définie sur "Détection automatique".
- Si l'ensemble de données BigQuery se trouve dans un autre projet, saisissez l'ID dans le champ ID du projet de l'ensemble de données.
Dans le champ Type de compte de service, choisissez l'une des options suivantes, puis 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:
- Activez l'option Utiliser la connexion.
- Cliquez sur Parcourir les connexions.
Cliquez sur le nom de la connexion (par exemple, BigQuery par défaut).
Facultatif: Si aucune connexion n'existe et que vous souhaitez en créer une réutilisable, cliquez sur Ajouter une connexion, puis suivez la procédure décrite dans l'onglet Nouvelle connexion de cette page.
Dans le champ Nom de référence, saisissez un nom à utiliser pour la lignée.
Facultatif: Si votre ensemble de données est déjà disponible dans votre instance, cliquez sur Parcourir, puis sélectionnez les données à lire.
Dans le champ Ensemble de données, saisissez le nom de l'ensemble de données contenant la table.
Dans le champ Table, saisissez le nom de la table.
Pour tester la connectivité, cliquez sur Obtenir un schéma.
Facultatif: Dans le champ Date de début de la partition, saisissez la chaîne de date de début inclusive (par exemple,
2021-01-11
).Facultatif: Dans le champ Date de fin de la partition, saisissez la chaîne de date de fin inclusive (par exemple,
2024-01-11
).Facultatif: Dans le champ Filtrer, saisissez une clause
WHERE
BigQuery.Facultatif: Dans le champ Nom du bucket temporaire, saisissez un nom pour le bucket Cloud Storage.
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 Obtenir le nom de la ressource pour la clé.
Facultatif: Activez Activer les vues de requête. 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.
(Facultatif) Cliquez sur Valider et corrigez les erreurs détectées.
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.
- Saisissez un libellé pour le nœud BigQuery (par exemple,
Propriétés
Propriété | Macro activée | Propriété obligatoire | Description |
---|---|---|---|
Label | Non | Oui | Nom du nœud de 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 s'affichent lorsque vous les parcourez, 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 sélectionnez s'affiche dans ce champ. |
ID du projet | Oui | Non | Utilisé uniquement lorsque l'option Utiliser la connexion est désactivée. Identifiant unique au niveau mondial du projet dans lequel le job BigQuery s'exécute. La valeur par défaut est auto-detect . |
ID du projet de l'ensemble de données | Oui | Non | Utilisé 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 s'exécute, cette valeur correspond à l'identifiant unique au niveau mondial du projet contenant l'ensemble de données BigQuery. Si aucune valeur n'est indiquée, la valeur par défaut du champ est ID de projet. Le rôle Lecteur de données BigQuery doit être attribué au compte de service spécifié pour lire les données BigQuery du projet. |
Type de compte de service | Oui | Non | Sélectionnez l'une des options suivantes:
|
Chemin d'accès au fichier du compte de service | Oui | Non | Utilisé uniquement lorsque la valeur du type de compte de service est 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 les tâches s'exécutent sur des clusters Dataproc, définissez la valeur sur "détection automatique". Si les tâches s'exécutent 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 champ "Type de compte de service" est JSON. Contenu du fichier JSON du compte de service. |
Nom de référence | Non | Oui | Nom qui identifie de manière unique cette source pour d'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 la table. 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 | Table à 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 la partition inclusive, spécifiée sous la forme yyyy-mm-dd . Si aucune valeur n'est fournie, toutes les partitions jusqu'à la date de fin de la partition seront lues. |
Date de fin de la partition | Oui | Non | Date de fin de la partition exclusive, spécifiée sous la forme yyyy-mm-dd . Si aucune valeur n'est fournie, toutes les partitions à partir de la date de début de la partition sont lues. |
Filter | Oui | Non | Requête SQL qui filtre les données en fonction des conditions données. Par exemple, cette requête renvoie toutes les lignes de la table Roster dont la colonne SchoolID a la valeur SchoolID > 52 :SELECT * FROM Roster WHERE SchoolID > 52; . Il s'agit de la même chose que 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 après avoir été 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 un 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ête | Oui | Non | Indique si les vues logiques et matérialisées BigQuery sont autorisées. Étant donné que les vues BigQuery ne sont pas activées par défaut, les requêtes peuvent entraîner des coûts supplémentaires en termes de performances. La valeur par défaut est "Non". |
Projet de création de table temporaire | Oui | Non | Utilisé uniquement lorsque Activer les vues de requête est activé. Nom du projet dans lequel la table temporaire doit être créée. La valeur par défaut est le même projet que celui de la table. |
Ensemble de données de création de table temporaire | Oui | Non | Ensemble de données du projet spécifié dans lequel la table temporaire doit être créée. Par défaut, il s'agit du même ensemble de données que celui de la table. |
Schéma de sortie | Oui | Oui | Schéma de la table à lire. Vous pouvez l'extraire 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 |
Notes de version
Étape suivante
- En savoir plus sur les plug-ins dans Cloud Data Fusion