Accéder au contenu principal Passer au contenu complémentaire

Google BigQuery

Vous pouvez utiliser Google BigQuery comme plate-forme de données cible dans un pipeline de données ou une tâche de réplication. Dans un pipeline de données, il est possible d'effectuer différentes opérations ELT sur la plate-forme cible, notamment le stockage de données, la transformation de données, la création de mini-data warehouses et l'enregistrement de données. Par ailleurs, un tâche de réplication implique la réplication de données directement d'un système de source vers un système cible avec des fonctionnalités de transformation de base, mais sans support des opérations ELT..

La configuration de Google BigQuery comme cible implique les conditions suivantes :

Configuration d'une connexion à Google BigQuery

Pour configurer le connecteur, procédez comme suit :

  1. Dans Connexions, cliquez sur Créer une connexion.

  2. Sélectionnez le Google BigQuery connecteur cible et fournissez les paramètres suivants :

Cible de données

Note InformationsCe champ n'est pas disponible avec l'abonnement Démarreur Qlik Talend Cloud, car Data Movement gateway n'est pas supporté avec ce niveau d'abonnement.

Une Data Movement gateway est nécessaire uniquement si la base de données cible n'est pas accessible depuis Qlik Cloud et est accessible uniquement via un lien privé (par exemple, si elle est située dans un cloud privé virtuel). Si c'est le cas, sélectionnez la Data Movement gateway via laquelle vous souhaitez accéder à la base de données cible.

Suivant votre cas d'utilisation, il s'agira soit de la même Data Movement gateway que celle déployée pour déplacer des données provenant de la source de données, soit d'une autre.

Pour des informations sur les cas d'utilisation de Data Movement gateway, consultez Quand Data Movement gateway est-elle obligatoire ? et Cas d'utilisation courants.

Si la base de données cible est directement accessible depuis Qlik Cloud, sélectionnez Aucune.

Note InformationsLors de l'accès à la base de données cible via Data Movement gateway, vous devez également installer le pilote approprié sur le poste Data Movement gateway. Pour des informations détaillées, voir la section Google BigQuery ci-dessous.

Propriétés de connexion

Clé de compte de service : chargez le fichier JSON téléchargé lorsque vous avez créé votre clé de compte de service BigQuery.

Emplacement : emplacement de chargement du jeu de données créé par Qlik. Si vous sélectionnez Autre, saisissez le nom de région dans le champ Nom de région. Pour une liste des noms de régions supportés, voir Emplacements BigQuery.

Note InformationsLa sélection de Autre nécessite Data Movement gateway 2023.11.4 ou une version ultérieure.

Nom

Nom d'affichage de la connexion.

Conditions préalables requises

Autorisations nécessaires pour déposer temporairement des données

Pour créer automatiquement le jeu de données, vous avez besoin des autorisations suivantes :

BigQuery > BigQuery Job User

BigQuery > BigQuery Data Editor

Si le jeu de données existe déjà, vous devez procéder comme suit :

  1. Créez un compte de service avec l'autorisation suivante :

    BigQuery > BigQuery Job User

  2. Accédez au jeu de données à utiliser, puis :

    1. Ajoutez le compte de service que vous venez de créer comme compte principal.

    2. Affectez le rôle BigQuery Data Editor.

Configuration du pilote

Un pilote est obligatoire uniquement si vous accédez à la base de données via Data Movement gateway. Dans ce cas, vous devez installer le pilote sur le poste Data Movement gateway.

Vous pouvez installer le driver via l'utilitaire d'installation de pilote (recommandé) ou manuellement. Tentez une installation manuelle uniquement dans le cas improbable où vous rencontriez un problème avec l'utilitaire d'installation de pilote.

Utilisation de l'utilitaire d'installation de pilote pour installer le pilote

Cette section explique comment installer le driver requis. Le processus implique l'exécution d'un script qui téléchargera, installera et configurera automatiquement le driver requis. Vous pouvez également exécuter des scripts permettant de mettre à jour et de désinstaller le driver, si nécessaire.

  • Assurez-vous que Python 3.6 ou une version ultérieure est installé sur le serveur de passerelle Déplacement des données.

    Python est préinstallé sur la plupart des distributions Linux. Vous pouvez vérifier la version de Python installée sur votre système en exécutant la commande suivante :

    python3 --version

Pour télécharger et installer le driver :

  1. Arrêtez le service Data Movement gateway :

    sudo systemctl stop repagent

  2. Confirmez éventuellement l'arrêt du service :

    sudo systemctl status repagent

    Le statut doit être comme suit :

    Active: inactive (dead) since <timestamp> ago

  3. Sur le poste de passerelle Déplacement des données, remplacez le répertoire de travail par :

    opt/qlik/gateway/movement/drivers/bin

  4. Exécutez la commande suivante :

    Syntaxe :

    ./install gbq

    Si le driver ne peut pas être téléchargé (en raison de restrictions d'accès ou de problèmes techniques), un message s'affichera, vous indiquant où télécharger et copier le driver sur le poste de passerelle Déplacement des données. Une fois que c'est fait, exécutez de nouveau la commande install gbq.

    Sinon, le CLUF du driver apparaîtra.

  5. Procédez de l'une des manières suivantes :

    • Appuyez à plusieurs reprises sur [Entrée] pour parcourir lentement le CLUF.
    • Appuyez à plusieurs reprises sur la barre d'espace pour parcourir rapidement le CLUF.
    • Appuyez sur q pour quitter le texte de licence et faire apparaître les options d'acceptation du CLUF.
  6. Procédez de l'une des manières suivantes :

    • Saisissez « y » et appuyez sur [Entrée] pour accepter le CLUF et démarrer l'installation.
    • Saisissez « n » et appuyez sur [Entrée] pour rejeter le CLUF et quitter l'installation.
    • Saisissez « v » et appuyez sur [Entrée] pour afficher de nouveau le CLUF.

  7. Le driver sera installé.

  8. Attendez la fin de l'installation (indiquée par « Complete! »), puis démarrez le service Data Movement gateway :

    sudo systemctl start repagent

  9. Confirmez éventuellement le lancement du service :

    sudo systemctl status repagent

    Le statut doit être comme suit :

    Active: active (running) since <timestamp> ago

Exécutez la commande update si vous souhaitez désinstaller des versions précédentes du driver avant d'installer le driver fourni.

Pour télécharger et mettre à jour le driver :

  1. Arrêtez le service Data Movement gateway :

    sudo systemctl stop repagent

  2. Confirmez éventuellement l'arrêt du service :

    sudo systemctl status repagent

    Le statut doit être comme suit :

    Active: inactive (dead) since <timestamp> ago

  3. Sur le poste de passerelle Déplacement des données, remplacez le répertoire de travail par :

    opt/qlik/gateway/movement/drivers/bin

  4. Exécutez la commande suivante :

    Syntaxe :

    ./update gbq

    Si le driver ne peut pas être téléchargé (en raison de restrictions d'accès ou de problèmes techniques), un message s'affichera, vous indiquant où télécharger et copier le driversur le poste de passerelle Déplacement des données. Une fois que c'est fait, exécutez de nouveau la commande update gbq.

    Sinon, le CLUF du driver apparaîtra.

  5. Procédez de l'une des manières suivantes :

    • Appuyez à plusieurs reprises sur [Entrée] pour parcourir lentement le CLUF.
    • Appuyez à plusieurs reprises sur la barre d'espace pour parcourir rapidement le CLUF.
    • Appuyez sur q pour quitter le texte de licence et faire apparaître les options d'acceptation du CLUF.
  6. Procédez de l'une des manières suivantes :

    • Saisissez « y » et appuyez sur [Entrée] pour accepter le CLUF et démarrer l'installation.
    • Saisissez « n » et appuyez sur [Entrée] pour rejeter le CLUF et quitter l'installation.
    • Saisissez « v » et appuyez sur [Entrée] pour passer le CLUF en revue depuis le début.
  7. L'ancien driver sera désinstallé et le nouveau driver sera installé.

  8. Attendez la fin de l'installation (indiquée par « Complete! »), puis démarrez le service Data Movement gateway :

    sudo systemctl start repagent

  9. Confirmez éventuellement le lancement du service :

    sudo systemctl status repagent

    Le statut doit être comme suit :

    Active: active (running) since <timestamp> ago

Exécutez la commande uninstall si vous souhaitez désinstaller le driver.

Pour désinstaller le driver :

  1. Arrêtez toutes les tâches configurées pour utiliser ce connecteur.

  2. Sur le poste de passerelle Déplacement des données, remplacez le répertoire de travail par :

    opt/qlik/gateway/movement/drivers/bin

  3. Exécutez la commande suivante :

    Syntaxe :

    ./uninstall gbq

    le driver sera désinstallé.

Installation manuelle du pilote

Vous devez tenter d'installer manuellement le driver uniquement si l'installation de pilote automatisée n'a pas fonctionné.

Vous devez installer un pilote ODBC et un pilote JDBC.

Une fois la Data Movement gateway installée, téléchargez les fichiers SimbaODBCDriverforGoogleBigQuery_<version>-Linux.tar.gz et google-cloud-sdk-<version>-linux-x86_64.tar.gz. Vous trouverez des liens de téléchargement direct de ces fichiers sous binary-artifacts dans /opt/qlik/gateway/movement/drivers/manifests/gbq.yaml. Une fois le téléchargement terminé, copiez les fichiers sur le poste Data Movement gateway.

  1. Arrêtez le service Data Movement gateway :

    sudo systemctl stop repagent

  2. Confirmez éventuellement l'arrêt du service :

    sudo systemctl status repagent

  3. Le statut doit être comme suit :

    Active: inactive (dead) since <timestamp> ago

  4. Extraction :

    SimbaODBCDriverforGoogleBigQuery_<version>.tar.gz

    par :

    /opt/SimbaODBCDriverforGoogleBigQuery_<version>-Linux

  5. Placez les fichiers GoogleBigQueryODBC.did et simba.googlebigqueryodbc.ini dans le répertoire lib sous le répertoire du pilote Simba ODBC.

    Exemple :

    Déplacez les fichiers de :

    /opt/SimbaODBCDriverforGoogleBigQuery_<version>-Linux/setup

    par :

    /opt/SimbaODBCDriverforGoogleBigQuery_<version>-Linux/SimbaODBCDriverforGoogleBigQuery64_<version>/lib

  6. Modifiez le fichier simba.googlebigqueryodbc.ini comme suit :

    1. Remplacez ErrorMessagesPath par le chemin d'accès au fichier XML contenant les messages ODBC. L'emplacement par défaut est :

      ErrorMessagesPath=/opt/SimbaODBCDriverforGoogleBigQuery_<version>-Linux/SimbaODBCDriverforGoogleBigQuery64_<version>/ErrorMessages

    2. Remplacez DriverManagerEncoding par UTF-16.
  7. Ajoutez le chemin d'accès suivant au fichier site_arep_login.sh qui se trouve dans le répertoire de compartimentage Data Movement gateway :

    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/SimbaODBCDriverforGoogleBigQuery_<version>-Linux/SimbaODBCDriverforGoogleBigQuery64_<version>/lib

  8. Modifiez le fichier /etc/odbcinst.ini et ajoutez le chemin d'accès au pilote (à savoir, le chemin d'accès à l'emplacement d'installation du pilote) :

    [ODBC Drivers]

    Simba= Installed

    Simba ODBC Driver for Google BigQuery = Installed

    [Simba ODBC Driver for Google BigQuery]

    Description=Simba ODBC Driver for Google BigQuery(64-bit)

    Driver=/opt/SimbaODBCDriverforGoogleBigQuery_<version>-Linux/SimbaODBCDriverforGoogleBigQuery64_<version>/lib/libgooglebigqueryodbc_sb64.so

  9. Installez google-cloud-sdk-<version>-linux-x86_64.tar.gz.

  10. Démarrez le service Data Movement gateway :

    sudo systemctl start repagent

  11. Confirmez éventuellement le lancement du service :

    sudo systemctl status repagent

    Le statut doit être comme suit :

    Active: active (running) since <timestamp> ago

  1. Téléchargez le fichier ZIP et les fichiers JAR suivants répertoriés sous binary-artifacts dans /opt/qlik/gateway/movement/drivers/manifests/gbq.yaml :

    • https://repo1.maven.org/maven2/com/google/cloud/google-cloud-bigquery/<version>/google-cloud-bigquery-<version>.jar
    • https://repo1.maven.org/maven2/com/google/cloud/google-cloud-storage/<version>/google-cloud-storage-<version>.jar
    • https://storage.googleapis.com/simba-bq-release/jdbc/SimbaJDBCDriverforGoogleBigQuery<version>.zip

    Copiez les fichiers JAR dans le dossier suivant sur le poste Data Movement gateway et extrayez les fichiers JAR dans SimbaJDBCDriverforGoogleBigQuery<version>.zip dans le même dossier :

    /opt/qlik/gateway/movement/qcs_agents/qdi-db-commands/lib

  2. Redémarrez le service Data Movement gateway en exécutant la commande décrite à la section Redémarrage du service.

Port

Le port du pare-feu 443 doit être ouvert pour la communication sortante.

Types de données

La longueur du type de données paramétré sera définie avec les valeurs par défaut :

  • STRING: 8192 (length)

  • BYTES: 8192 (length)

  • NUMERIC: Precision: 38, Scale: 9

  • BIGDECIMAL: Precision: 76, Scale: 38

Le tableau suivant indique les types de données Google BigQuery supportés lors de l'utilisation de Qlik Cloud et le mapping par défaut depuis les types de données Qlik Cloud.

Les informations de type de données natif sont préservées et affichées dans la colonne Type de données natif des vues d'ensemble de données. Si la colonne n'est pas visible, vous devez ouvrir le sélecteur de colonnes de la vue d'ensemble de données et sélectionner la colonne Type de données natif.

Types de données supportés
Types de données Qlik Cloud Types de données Google BigQuery

BOOLEAN

BOOL

BYTES

BYTES (length in Bytes)

DATE

DATE

TIME

TIME

DATETIME

TIMESTAMP

INT1

TINYINT

INT2 SMALLINT

INT4

INTEGER

INT8 BIGINT

NUMERIC

NUMERIC (precision, scale)

REAL4

FLOAT64

REAL8

FLOAT64

UINT1

TINYINT

UINT2

SMALLINT

UINT4

INTEGER

UINT8

BIGINT

STRING

STRING (length in Bytes)

WSTRING

STRING (length in Bytes)

BLOB

BYTES

NCLOB

STRING

CLOB

STRING

Les types de données suivants sont convertis en STRING :

  • ARRAY

  • STRUCT

  • JSON

  • GEOGRAPHY

Vous devez tenter d'installer manuellement le driver uniquement si l'installation de pilote automatisée n'a pas fonctionné.

Limitations et considérations générales

Les limitations et considérations générales suivantes s'appliquent lors du déplacement de données vers une cible Google BigQuery.

Limitations et considérations générales concernant l'ensemble des tâches de données

  • Les DDL suivantes ne sont pas supportées :
    • Supprimer la colonne
    • Renommer la colonne
    • Modifier le type de données de la colonne
    • Renommer la table
  • La capture des modifications des tables sources sans clé primaire ou index unique n'est pas supportée. Si vous devez capturer les modifications apportées auprès de ces tables, vous pouvez ajouter une clé primaire à l'aide d'une transformation. De plus, les colonnes de clé primaire ou d'index unique ne peuvent pas contenir de valeurs NULL. Si vous savez que de telles colonnes seront renseignées à l'aide de valeurs NULL, définissez une transformation pour remplacer les valeurs NULL par des valeurs non-nullables.

Limitations et considérations générales concernant uniquement les tâches de réplication

  • Le mode Appliquer les modifications transactionnelles n'est pas supporté.
  • L'option de traitement des erreurs Consigner l'enregistrement dans la table d'exceptions pour les conflits d'applications et les erreurs de données n'est pas supportée.

  • Avec la configuration suivante des paramètres de tâche, la tâche de réplication effectuera une opération DELETE suivie d'une opération INSERT au lieu d'une opération UPDATE :

    • Le mode Appliquer les modifications est défini sur Optimisation par lots.

    • L'option Appliquer les modifications via SQL MERGE n'est pas sélectionnée.

    • L'option Gestion des erreurs des MISES À JOUR pour les conflits d'applications est définie sur : Enregistrement introuvable pour l'application d'une MISE À JOUR : INSÉRER l'enregistrement cible manquant.

    Google Cloud BigQuery ne supportant pas le rollback (la restauration), au cas où la tâche de réplication ne parvient pas à insérer la ligne mise à jour, les données seront supprimées de la cible.

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – dites-nous comment nous améliorer !