Cet article explique comment utiliser le connecteur Google BigQuery pour DataGalaxy.
Ce connecteur est disponible dans les modes suivants :
| Mode Desktop ✅ | Mode SaaS Online ✅ |
Ce connecteur supporte les modes d'import suivants :
| Mode standard ✅ | Mode URN ✅ |
Technologie
BigQuery est un entrepôt de données d'entreprise entièrement géré, qui vous aide à gérer et analyser vos données grâce à des fonctionnalités intégrées telles que le machine learning, l'analyse géospatiale et l'informatique décisionnelle.
Scope, attributes and mapping with DataGalaxy
Objets
Certains attributs listés ici pourraient ne pas être présents par défaut dans la configuration de vos écrans. Pour les ajouter, il peut être nécessaire d'ajuster la configuration des écrans des objets concernés avant de lancer le connecteur. Reportez-vous à l'article suivant pour en savoir plus sur la customisation d'écrans.
Projet
Un Projet BigQuery est représenté par une source NoSQL dans le Dictionnaire et comme un Data Flow dans le module Traitements.
L'URN suit cette syntaxe :
urn:googlebigquery-1:project
Les attributs suivants sont récupérés depuis la configuration du connecteur :
| Attribut DataGalaxy | Source/Valeur |
|---|---|
| Nom technique | Nom du Projet |
Dataset
Un Dataset est représenté par un Répertoire
L'URN suit cette syntaxe :
urn:googlebigquery-1:project:dataset
La liste des Datasets est récupérée grâce à la méthode listDatasets() du client BigQuery. Les attributs suivants sont récupérés grâce à la méthode getDataset() :
| Attribut DataGalaxy | Source/Valeur |
|---|---|
| Nom technique | id.dataset |
| Description | description |
| Type technique | "DATASET" |
| Localisation géographique | location |
| Date de création de l'objet source | creationTime |
| Date de dernière modification de l'objet source | lastModified |
Table, Vue
Une Table ou une Vue sont représentés par un Document.
L'URN suit cette syntaxe :
urn:googlebigquery-1:project:dataset:table urn:googlebigquery-1:project:dataset:view@view
Les attributs suivants sont récupérés en utilisant la méthode getTable() du client BigQuery et les métadonnées fournies pas la vue INFORMATION_SCHEMA.TABLES du Dataset:
| Attribut DataGalaxy | Source/Valeur |
|---|---|
| Nom technique | tableId.table |
| Description | description |
| Type technique | table_type |
| Date de création de l'objet source | creation_time |
| Date de dernière modification de l'objet source | lastModifiedTime |
| Date d'expiration de l'objet source | expirationTime |
| Localisation géographique | Location |
| Requête | ddl |
| Nombre d'enregistrements | numRows |
| Taille du stockage actuelle | numBytes |
| Storate size unit | "bytes" |
Les attributs suivants sont calculés :
| Attribut DataGalaxy | Source/Valeur |
|---|---|
| Est partitionnée | true si au moins un Champ fait partie d'une définition de partition |
Champ
Un Champ est représenté par un Champ.
L'URN suit cette syntaxe :
urn:googlebigquery-1:project:dataset:table:field@field
Les attributs suivants sont récupérés en même temps que les métadonnées de la Table et complétées grâce aux informations fournies par la vue INFORMATION_SCHEMA.COLUMNS du Dataset:
| Attribut DataGalaxy | Source/Valeur |
|---|---|
| Nom technique | column_name |
| Résumé | description |
| Type de données | type |
| Type technique | "COLUMN" |
| Ordre | ordinal_position |
| Est obligatoire | mode = "REQUIRED" |
| Est clé de partition | is_partitioning_column |
Job
Un Job BigQuery est représenté par un Data Processing.
L'URN suit cette syntaxe :
urn:googlebigquery-1:project:jobId@job
Les attributs suivants sont récupérés grâce à la méthode listJobs() du client BigQuery:
| Attribut DataGalaxy | Source/Valeur |
|---|---|
| Nom technique | jobId.job |
| Requête | configuration.query |
Liens
Les liens créés par le connecteur Google BigQuery sont des liens de lineage entre les structures du Dictionnaire et éventuellement les objets Data Processing. Si le connecteur est configuré pour récupérer les Jobs BigQuery, les liens sont créés autour des objets Data Processing qui représentent ces Jobs et les structures correspondantes du Dictionnaire en entrée et sortie. Sinon, les liens sont créés directement entre les objets du Dictionnaire.
Le lineage est récupéré grâce à l'API REST Dataplex, notamment les points d'entrée searchLinks, batchSearchLinkProcesses, processes, runs et lineageEvents.
Périmètre détaillé
Entrée
Dataset, table et vue
Dans l’onglet d’accueil de BigQuery ces éléments apparaîtront sur la gauche

Champ de type STRUCT/RECORD et champ "classique"
En sélectionnant une table un nouvel onglet s’ouvre, donnant des détails sur le schéma de celle-ci

Process/job
Toujours après avoir sélectionné une table, c’est dans l’onglet “Traçabilité” que vous trouverez les noeuds de processing et, en cliquant dessus, des informations supplémentaires comme leur id qui sera remonté dans DataGalaxy (souligné en rouge ici)

Si aucune information ne s'affiche dans cette fenêtre, vérifiez que le service de la Data Lineage et l'API associée sont activés. Pour ce faire, dans le menu de gauche, sélectionnez "API et services" puis "API et services activés" (capture 1) et filtrez sur "Data Lineage API". Si aucun résultat n'apparait, cliquez sur "+ ACTIVER LES API ET LES SERVICES" (capture 2). Vous vous retrouverez alors sur la page de la bibliothèque d'API de Google où vous pourrez rechercher, sélectionner et activer "Data Lineage API" (capture 3).
Sortie
- Répertoire, Document, Sous-structure, Champ (module Dictionnaire)

- Traitement
On va trouver dans le module Dictionnaire dans l’onglet “Objets liés” d’un Document une référence au(x) Traitement(s) concerné(s)

Dans le module Traitements on va trouver un objet "Traitement" qui lie les objets de type "Document" entre eux

Configuration d'une connexion
Côté BigQuery
- Création d’un compte de service dédié
Pour réaliser cette action il est nécessaire de se rendre, avec le projet ciblé par l’import sélectionné en haut à droite (”exemples” ici) sur la page “Comptes de service” du menu “IAM et administration”

Sur cette page, sélectionnez simplement “+ CREER UN COMPTE DE SERVICE” et suivez les étapes

- Création d’un rôle dédié
On va créer un rôle dédié pour ce nouveau compte de service, en allant cette fois sur la page “Rôles” du menu “IAM et administration” puis sélectionner l’option “+ CREER UN ROLE”

Une fois la fenêtre de création ouverte et le nom donné au rôle (”Rôle DataGalaxy” ici), cliquez sur “+ AJOUTER DES AUTORISATIONS”. Vous pourrez aller ajouter une à une les autorisations nécessaires en les rentrant dans la barre de filtrage avant de les sélectionner puis les ajouter (exemple avec “bigquery.datasets.get” ici).

- Attribution de ce rôle au compte de service
Pour ce faire on va se rendre sur la page “IAM” du menu “IAM et administration” puis sélectionner l’option “ACCORDER L’ACCES”

Si votre compte de service ne dispose d’aucun droit il n’apparaîtra pas dans la liste des comptes principaux recensés par IAM (comme on le voit ici avec “connecteur-test”)
Si vous souhaitez rajouter le rôle DataGalaxy à un compte qui dispose déjà de droits il suffit de cliquer sur l’icône de modification à droite du tableau listant les comptes
Dans l’onglet qui s’ouvre à droite vous pourrez rentrer l’identifiant complet de votre compte de service et lui attribuer le rôle voulu avant de valider avec “Enregistrer”

Détail des droits nécessaires à l'obtention des métadonnées
Nous allons maintenant détailler les autorisations associées aux différents types de métadonnées, divisées en niveaux.
Attention : les permissions GCP sont par projet, si votre environnement est multi-projets veuillez ajouter les permissions sur chaque projet concerné.
- Niveau 1: Dataset, table/vue, champ de type RECORD/STRUCT et champ (informations générales)
Ajouter à votre compte de service les rôles standards suivant :
- BigQuery Metadata Viewer (roles/bigquery.metadataViewer)
- BigQuery Job User(roles/bigquery.jobUser)
Le rôle Job User permet de récupérer les informations liées aux différents objets récupérés. Sans, le test de connexion fonctionnera et vous serez en mesure de récupérer lesdits objets, mais les attributs DataGalaxy associés ne seront pas renseignés.
- Niveau 2: liens de linéage entre les tables/vues
La lecture du lineage nécessite des permissions supplémentaires comme décrit dans la documentation GCP. Ajouter en plus des permissions de niveau 2 le rôle standard suivant :
- Data lineage Viewer (roles/datalineage.viewer)
- Niveau 3: Process/job
Ce niveau d'autorisation va permettre à l'option d'import "Créer les Jobs BigQuery dans le module Processing" sélectionnée de fonctionner correctement, en ramenant lesdits jobs, leurs liens avec les tables/vues concernées et la requête ayant permis cette création.
- BigQuery Resource Viewer (roles/bigquery.resourceViewer)
Récapitulatif
| Objet GBQ | Objet DataGalaxy | Niveau 1 | Niveau 3 |
|---|---|---|---|
| Dataset | Répertoire (Conteneur) | ✅ | ✅ |
| Table/Vue | Document (structure) | ✅ | ✅ |
| Champ de type STRUCT/RECORD | Sous-structure | ✅ | ✅ |
| Champ | Champ | ✅ | ✅ |
| Process/Job | Traitement | ✅ |
Côté DataGalaxy
Les informations suivantes sont demandées pour configurer une connexion :
| Paramètre | Obligatoire | Description |
| Id du projet | Oui | Nom du projet Google Cloud |
| Id du dataset | Non | Limite le périmètre à un ensemble de données contenu dans le projet (plus d'informations sur les ensembles de données ici). |
| Clé privée | Oui | Chemin vers le fichier .json contenant la clé privée |
| Récupérer le linéage depuis Dataplex | Non | Nécessite l'activation de l'API lineage |
| Région où les transformations de données sont exécutées | Non | Les liens de linéage sont stockés dans la région où les process tournent (valeur par défaut: eu) |
| Créer les Jobs BigQuery dans le module Processing | Non | Si désactivé, les liens seront créés entre les objets du dictionnaire |
| Granularité du linéage | Non | Par défaut, ramène le linéage au niveau des tables |
PS: Vous trouverez l'information associée à la localisation des jobs dans l'onglet "Linéage" d'une table donnée (exemple avec la région us ici)

Du mode standard au mode URN
Différences
- En mode Standard le nom de votre objet racine sera celui que vous lui donnerez lorsque vous créez la connexion (ou de l'objet racine du module Dictionnaire que vous ciblerez). En mode URN le nom de l'objet racine sera le nom de projet Google Cloud.
- Mode Standard

- Mode URN

- Mode Standard
- En mode standard, dans le module "Traitements", vos objets projets "Flux" et "Traitement" seront regroupés sous un objet qui sera considéré comme l’objet racine de la hiérarchie. En mode URN chaque projet fait office d'objet racine.
- Mode Standard

- Mode URN

- Mode Standard
- En mode standard, dans le cadre d'un import multi-projet (qui peut retourner plus d'un projet à la fois), vos projets seront rassemblés sous un objet qui fera office d'objet racine. En mode URN chaque projet fait office d'objet racine.
- Mode Standard (Mode "Import multi-projet")

- Mode URN

- Mode Standard (Mode "Import multi-projet")
Guide de migration
Ce guide a pour but de vous indiquer les étapes à suivre pour passer votre objet racine et tous les objets BigQuery qu'il contient du mode Standard au mode URN. Une fois ces étapes effectuées, vous serez en mesure de réaliser tous vos futurs imports en mode URN et de profiter des nouvelles fonctionnalités associées à ce mode.
- Remonter d'un niveau les objets contenus dans votre objet racine BigQuery du module "Traitements"
- Il vous faudra déplacer chacun de ces objets contenus sous votre projet BigQuery (”exemples” ici) en ouvrant leurs menus associés et en choisissant l’option “Déplacer” avant de supprimer le parent associé. En supprimant son parent votre objet de type "Flux" sera remonté d'un niveau et prêt à être passé en mode URN.


- Vous pourrez supprimer ensuite l'ancien objet racine ("Google BigQuery" dans cet exemple)

- Il vous faudra déplacer chacun de ces objets contenus sous votre projet BigQuery (”exemples” ici) en ouvrant leurs menus associés et en choisissant l’option “Déplacer” avant de supprimer le parent associé. En supprimant son parent votre objet de type "Flux" sera remonté d'un niveau et prêt à être passé en mode URN.
- Remonter d’un niveau les objets contenus dans votre projet BigQuery du module "Dictionnaire" (import multi-projet uniquement):
- Il vous faudra déplacer chacun de vos objets contenus dans votre projet BigQuery (”exemples” ici) en ouvrant leurs menus associés et en choisissant l’option “Déplacer”. Vous ciblerez l’objet racine présent juste au-dessus, “Google BigQuery” pour cet exemple

- N'oubliez pas ensuite de supprimer l'ancien projet BigQuery ensuite

- A partir de maintenant les manipulations seront les mêmes pour passer en mode URN, peu importe le mode d’import initialement choisi en mode Standard
- Si vous ne réalisez pas cette opération, lors de l'import en mode URN final sur votre objet racine vous créerez des doublons de tous les objets de votre projet remontés depuis BigQuery

- Il vous faudra déplacer chacun de vos objets contenus dans votre projet BigQuery (”exemples” ici) en ouvrant leurs menus associés et en choisissant l’option “Déplacer”. Vous ciblerez l’objet racine présent juste au-dessus, “Google BigQuery” pour cet exemple
- Si ce n'est pas encore le cas, associer aux sources “Source NoSQL” du module "Dictionnaire" l'attribut "URN". Faites de même pour les objets "Flux" du module "Traitement"
- Associer à vos objets racine des modules "Dictionnaire" et "Traitement" l'URN correspondant
- A ce propos nous conseillons de suivre les étapes suivantes pour éviter toute erreur:
- Réaliser un import en mode URN, lequel va créer un nouvel objet racine dans chaque module pour lequel l'attribut URN sera renseigné

- Copier lesdits attributs URN
- Supprimer les objets racine que vous venez d'importer en mode URN ainsi que tous leurs enfants (vu qu'un URN doit être unique, si vous ne supprimez pas cet objet racine avant d'assigner son URN à un autre objet la plateforme retournera une erreur)
- Coller les URNs pour renseigner les attribut URN de vos objets racine qui sont encore en mode Standard

- Réaliser un import en mode URN, lequel va créer un nouvel objet racine dans chaque module pour lequel l'attribut URN sera renseigné
- A ce propos nous conseillons de suivre les étapes suivantes pour éviter toute erreur:
- Réaliser un nouvel import en mode URN
- Cette fois-ci tous les attributs URN des enfants sous vos objets racine des deux modules devraient être renseignés

- Cette fois-ci tous les attributs URN des enfants sous vos objets racine des deux modules devraient être renseignés
Félicitations, vous avez migré du mode Standard au mode URN et êtes en mesure de profiter de toutes les nouvelles fonctionnalités offertes par celui-ci !
Exécution du connecteur
Etape 1: Installation
- Télécharger le connecteur DataGalaxy depuis le portail
- Extraire l'archive du connecteur dans le répertoire de votre choix
- Télécharger le plug-in BigQuery depuis le portail et le copier dans le répertoire /lib du connecteur
Etape 2: Exécution du connecteur
- Après avoir démarré le connecteur, accéder aux connecteurs du Dictionnaire

- S'il a été correctement installé, le plug-in BigQuery apparaît dans la liste

- Complétez les champs correspondants à l'aide des informations de connexion données ci-dessus

- Cliquez sur "Test" pour tester la connexion
- Une fois le test de connexion passé vous pouvez suivre les étapes pour finaliser votre import
Ce connecteur est également disponible en mode online, pour plus de précisions consulter cette page:
[HowTo] Exécution du Connecteur Online.
Releases
| Date | Plugin Version | DataGalaxy release | Desktop Connector version (minimum) | Description |
| 02/06/2026 | 6.5.6 | v3.347.0 | 5.15.12 | Fixed some security vulnerabilities |
| 24/04/2026 | 6.5.4 | v3.332.1 | 5.15.9 | Updated internal dependencies |
| 19/01/2026 | 6.5.3 | v3.300.2 | 5.15.4 | Fix orphaned handling for GBQ multi-project imports when no project Id provided |
| 02/12/2025 | 6.5.2 | v3.285.3 | 5.15.3 | Add lineage retrieval checkbox in Bulktree mode |
| 03/11/2025 | 6.5.0 | v3.273.1 | 5.15.1 | Add the option to choose lineage granularity between table and column |
| 30/06/2025 | 6.4.0 | v3.188.4 | 5.7.1 | Improved the lineage: the plugin now fetches the links between tables from non BIGQUERY lineage events |
| 23/06/2025 | 6.3.3 | v3.188.2 | 5.7.1 | Fixed a UI bug for the desktop |
| 23/06/2025 | 6.3.2 | v3.188.1 | 5.7.1 | Fixed a bug related to the detection of partitioned tables |
| 09/06/2025 | 6.3.1 | v3.178.2 | 5.6.2 | - Fixed a security issue |
| 04/06/2025 | 6.3.0 | v3.177.2 | 5.5.13 | - Improve connexion test by making it more precise and resilient in case of missing authorizations for certain projects |
| 20/05/2025 | 6.2.4 | v3.171.0 | 5.5.13 | - Only in URN mode: changing objects represented in DataProcessing module: getting BigQuery jobs (with their SQL statement) instead of poor lineage events. - Activated the possibility of using URN imports for everybody |
| 08/04/2025 | 6.1.1 | v3.155.0 | 5.5.5 | Optimized how data is handled in URN mode |
| 23/08/2024 | 4.1.1 | v3.69.0 | 5.2.3 | Updated the logger to show more information when using verbose mode |
| 22/08/2024 | 4.1.0 | v3.68.0 | 5.2.3 | Lineage is optional ; Retrieving order of columns |
| 16/07/2024 | 4.0.0 | v3.59.0 | 5.0.1 | Migrated from java 11 to java 17 + CVE fixes |
| 23/04/2024 | 3.7.0 | v3.43.1 | Add multiple dataset selection in mono-project mode | |
| 28/03/2024 | 3.6.2 | Addition of multiple project ids for multi-projects import | ||
| 26/03/2024 | 3.6.1 | v3.38.0 | Multi-projects import | |
| 26/01/2024 | 3.5.5 | v3.26.0 | Addition of the "Table location" field |


