Se connecter à une base de données BigQuery

Last modified by Aurelie Bertrand on 2025/05/27 16:12


Prérequis

  • Un compte Google BigQuery
  • L'installation du driver JDBC BigQuery : consultez la page Connecteur BigQuery

Connexion à une base de données BigQuery

Pour récupérer les données d'une base de données BigQuery :

  1. Dans la boite Création d'un nouveau modèle de données, cliquez sur le bouton BigQuery de la section Rapports
    BigQuery_button.png
    ➡ La boîte de dialogue BigQuery s'affiche.
     
  2. Sélectionnez le mode de connexion souhaité :​
  • Mode Connexion manuelle
    La connexion sera visible dans la source de données uniquement.
    1. Entrez les informations de connexion :
      • Hôte : L'adresse de l'hôte BigQuery.
      • Port : Le port de la base de données.
      • Projet : Le nom de votre projet BigQuery.
      • Authentification : La méthode d'authentification à utiliser (voir Authentification).
      • Options : Des options supplémentaires de connexion afin de configurer l'authentification et/ou les paramètres de la connexion.
    2. Cliquez sur le bouton Connexion.
       
  • Mode Connexion nommée
    La connexion sera visible dans le gestionnaire de connexions et utilisable par l'ensemble des sources de données.
    1. Cliquez sur Sélectionner : le Gestionnaire des connexions aux bases de données s'affiche.
    2. Vous pouvez :
      • Sélectionner une connexion existante dans la liste. Cliquez alors sur OK.
      • Créer une nouvelle connexion comme décrit sur la page Ajouter une connexion nommée.
    3. Cliquez sur le bouton Connexion.
  1. Dans la boite Sélection du contexte qui s'affiche, sélectionnez les catalogues que vous souhaitez importer.
    ➡ Les données se chargent. 
  2. Dans l'onglet Requête, créez une requête via l'Assistant :
    • Cochez la table à utiliser dans le panneau de gauche.
      ➡ Les colonnes correspondantes s'affichent dans le panneau droite.
    • Vous pouvez retirer des colonnes en décochant les cases correspondantes. Le bouton 1734709246622-278.png​​​​​​​permet de tout sélectionner.
    • Vous pouvez définir des règles sur des colonnes : sélectionnez la colonne puis cliquez sur le bouton ​​​​​​​​​​​​​​​​​​​​​​​​​​​​1734709446893-607.png en haut à droite des colonnes et définissez la règle. La règle est ajoutée dans le tableau en-dessous des colonnes.
      Big Query
  3. Cliquez sur Options si vous souhaitez modifier les propriétés avancées de la base de données. Consultez le paragraphe options ci-dessous.
  4. Dans l'onglet Résultat, prévisualisez le résultat de la requête définie. Consultez la page Prévisualisation pour plus de détails.
  5. Vous pouvez également y ajouter des transformations de données. Consultez la page Transformer les données pour plus de détails.
  6. Une fois le résultat satisfaisant, cliquez sur Suivant pour configurer le modèle de données.

Options

Temps maximum de la requête

Durée maximum de la requête en secondes (60 secondes par défaut).
Si définie à 0, il n'y pas de limite maximale.

Nombre de lignes par blocNombre de lignes qui doivent être extraites de la base de données.
Si défini à 0, le nombre prend la valeur "fetchsize" du pilote JDBC.
Nombre de réessais sur erreur

Nombre de fois où le requête est répétée en cas d'erreur.
Si différent de 0, le délai entre chaque essai doit être spécifié, en secondes.

Persister l'erreur sur programmation

Permet de générer un cube contenant l'erreur.  Tout le processus échouera plus tard, mais cela évite ainsi de refaire le job (et d'être à nouveau en erreur) pour toutes les tâches.

Mode données incrémentales

Le mode incrémental est utilisé pour l'alimentation incrémentale du cube : chaque rafraîchissement du cube ne ramène que les nouvelles données par rapport au rafraîchissement précédent.
Il se base sur une colonne de référence et sur l'utilisation dans la requête d'un mot-clé : ${LASTVAL}.
Par exemple : select ... where ref_col> '${LASTVAL}

La colonne de référence est à renseigner dans le champ Colonne de référence en-dessous.

Editer la requête

Il est possible de modifier la requête manuellement en sélectionnant Avancé.... 
La requête générée par l'assistant est affichée.

  1. Cliquez sur Editer.
    Editer requête
  2. Modifiez la requête comme souhaité.
  3. Cliquez sur Appliquer.

❗ Si vous rebasculez sur l'assistant, la requête sera écrasée.

Vous pouvez sauvegarder la requête saisie pour une utilisation ultérieure. Pour cela :

  1. Cliquez sur le bouton Favoris .
  2. Sélectionnez Ajouter aux favoris puis saisissez le nom que vous souhaitez donner à cette requête. 
    ➡ La requête sera disponible depuis le même menu Favoris.
    BigQuery_query_favorites_FR.png

Il est également possible d'accéder à l'historique des modifications via le bouton Historique.
BigQuery_query_history_FR.png

Authentification

Il existe plusieurs méthodes d'authentification pour se connecter à BigQuery

Compte de service Google (Auth de service)

Pour cette méthode d'authentification, il vous faudra copier le fichier .p12 ou .json sur le serveur DigDash et spécifier deux options de connexion via le bouton Options lors de la configuration de la connexion :

  • OAuthServiceAcctEmail : L'adresse email de votre compte de service Google
  • OAuthPvtKeyPath : Le chemin du fichier .p12 ou .json sur le serveur DigDash

Tokens prégénérés

Pour cette méthode d'authentification, il vous faudra spécifier plusieurs options de connexion via le bouton d'options lors de la configuration de la connexion, la première option dénote si vous allez utiliser un token d'accès ou de rafraîchissement :

  • OAuthAccessToken ou OAuthRefreshToken : Le token d'accès ou le token de rafraîchissement respectivement.

Si vous utilisez le token de rafraîchissement il vous faudra aussi :

  • OAuthClientId : L'identifiant client.
  • OAuthClientSecret : Le secret client.

Identifiants par défaut d'application

Pour cette méthode d'authentification, il faut s'assurer d'avoir bien configuré les "Application Default Credentials" sur le "Google Identity Platform". Aucune option de connexion n'est nécessaire.

Résolution de problèmes : requête avancée

En fonction des données, faire un SELECT * sur une table BigQuery dans uen requête avancée générera une erreur. Cela est dû métadonnées ou de type de données spécifiques à google .
Pour parer à ce problème, vous devez faire un CAST as STRING sur chaque colonne.
Par exemple :
cast(ticket_id as STRING) as ticket_id
Seuls STRING, DATE et INT64 sont disponibles pour faire les CAST.
Si besoin d’une date au format DATETIME, il est possible de CAST en STRING puis la convertir dans DigDash.