5 Gestion des connexions de base de données pour la modélisation des données

Les administrateurs créent et gèrent les connexions de base de données cloud pour la modélisation de données relationnelles et non relationnelles telles que les données Essbase, Snowflake ou Oracle Enterprise Performance Management (Oracle EPM). Les données d'activité ne doivent pas nécessairement être toutes au même endroit. Connectez-vous à plusieurs bases de données cloud afin que les analystes et les modeleurs puissent analyser les données de l'entreprise, où qu'elles soient stockées.

Modélisation de données dans un cube Essbase

Connectez-vous à une base de données Essbase de façon à pouvoir modéliser et visualiser les données de cubes Essbase.

Vous pouvez modéliser des données Essbase uniquement dans l'outil d'administration de modèle.
Avant de commencer, déployez Data Gateway avec votre instance Oracle Analytics et configurez un agent Data Gateway pour communiquer avec le déploiement Essbase distant.
  1. Dans la couche physique, créez une base de données :
    1. Cliquez avec le bouton droit de la souris sur le panneau Couche physique et sélectionnez Créer une base de données.
    2. Dans la boîte de dialogue Base de données, indiquez le nom de la base de données afin de l'identifier dans Oracle Analytics.
    3. Sélectionnez le type de base de données (par exemple, Essbase 11), puis cliquez sur OK.
  2. Dans la couche physique, créez un pool de connexions :
    1. Cliquez avec le bouton droit de la souris sur la nouvelle base de données, sélectionnez Créer un objet, puis Pool de connexions de base de données.
    2. Dans la boîte de dialogue Pool de connexions, indiquez le nom du pool de bases de données afin de l'identifier dans Oracle Analytics.
    3. Dans Serveur Essbase, indiquez la chaîne de connexion du serveur Essbase.
      Par exemple, http://<IP address>:<port number>/essbase/agent.
    4. Sélectionnez Utiliser une passerelle de données.
    5. Saisissez le nom utilisateur et le mot de passe du déploiement Essbase.
    6. Si vous y êtes invité, saisissez à nouveau le mot de passe du déploiement Essbase.
  3. Dans la couche physique, importez les métadonnées Essbase :
    1. Cliquez avec le bouton droit de la souris sur la connexion Essbase et sélectionnez Importer les métadonnées.
    2. Sur la page Sélectionner une source de données, cliquez sur Suivant.
    3. Sur la page Sélectionner les objets de métadonnées, développez la base de données dans la zone Source de données, sélectionnez un cube et cliquez sur Importer la sélection.

      Dans le cas d'un cube volumineux, l'import peut prendre entre deux et trois minutes.

    4. Une fois l'import terminé, développez la base de données dans la vue Référentiel pour afficher le cube Essbase importé.
    5. Cliquez sur Terminer.
  4. A l'aide de la couche physique que vous venez de créer, créez la couche de modèle de gestion et de correspondance et la couche de présentation.
  5. Cliquez sur Fichier, Cloud, puis Publier.
  6. Créez un classeur de tableau de bord ou de visualisation basé sur le cube Essbase.
    Le nouveau cube Essbase est désormais disponible en tant que domaine dans Oracle Analytics.
    Par exemple, dans Oracle Analytics, créez une analyse : dans la boîte de dialogue Sélectionner un domaine, vous pouvez accéder au nouveau domaine Essbase. Dans Oracle Analytics, créez un classeur. Dans la boîte de dialogue Ajouter un ensemble de données, cliquez sur Domaines pour accéder au nouveau domaine Essbase.

Modélisation de données dans l'entrepôt de données Snowflake

Configurez votre environnement sur site de façon à pouvoir modéliser les données dans une base de données Snowflake.

Vous pouvez modéliser des données Snowflake dans le modeleur sémantique ou l'outil d'administration de modèle. Cette tâche décrit le processus qui utilise l'outil d'administration de modèle.
Les connexions locales et distantes à Snowflake à partir d'un modèle sémantique requièrent une installation de Data Gateway pour permettre à l'outil d'administration de modèle d'importer et de modéliser les tables d'une source de données Snowflake. Configurez l'agent Data Gateway avec un pilote adapté pour la connexion à Snowflake. Assurez-vous que les connexions Data Gateway distantes sont disponibles lorsque des requêtes sont exécutées. Toutefois, lorsque les tables Snowflake sont modélisées et que le modèle sémantique est publié vers Oracle Analytics, Data Gateway peut être désactivé ou enlevé pour les connexions locales car il n'est pas utilisé lorsque des requêtes sont exécutées à partir d'Oracle Analytics.

Vous pouvez créer une connexion locale ou distante à Snowflake à partir du modèle sémantique. Lorsque vous créez une connexion locale (non distante), le pool de connexions dans le modèle sémantique utilise une connexion JDBC.

Avant de commencer, installez Data Gateway et l'outil d'administration de modèle sur le même ordinateur Windows dans votre environnement sur site.
  1. Configurez un agent Data Gateway local pour faciliter la connexion entre l'outil client Developer et Snowflake.
    1. Téléchargez le dernier pilote JDBC Snowflake (par exemple, dans le fichier snowflake-jdbc-3.9.0.jar).
    2. Copiez le fichier JAR téléchargé vers le dossier d'installation de la passerelle de données.
      Dans le cas d'un déploiement de serveur, copiez le fichier JAR dans :
      <Dossier Data Gateway>/domain/jettybase/lib/ext
      Dans le cas d'un déploiement personnel, copiez le fichier JAR dans :
      <Répertoire d'installation>\war\datagateway\WEB-INF\lib
    3. Redémarrez la passerelle de données.
  2. Configurez une connexion à votre base de données Snowflake.
Vous pouvez désormais modéliser les données à l'aide de cette connexion.

Création d'une connexion de modèle sémantique locale à Snowflake

Connectez-vous à une base de données Snowflake locale de façon à pouvoir modéliser les données Snowflake.

  1. Dans l'outil d'administration de modèle, activez la fonctionnalité de pool de connexions JDBC en chargeant les sources de données Java. Reportez-vous à l'étape 3 dans Configuration et inscription de la passerelle de données en vue de la génération de rapports.
  2. Dans l'outil d'administration de modèle, créez une base de données et définissez le type sur Snowflake.
  3. Ajoutez un pool de connexions et indiquez les détails suivants dans l'onglet Général :
    • Interface d'appel : JDBC (pilote direct).
    • Noms de table qualifiés complets obligatoires : oui.
    • Nom de source de données : saisissez la chaîne de connexion. Par exemple : jdbc:snowflake://xxxx.snowflakecomputing.com?db=ODEV&warehouse=xxxxxx&schema=xxxxxx
    • Version RDC : laissez ce champ vide.
  4. Dans l'onglet Divers, fournissez les détails suivants :
    • URL du serveur JDS : laissez ce champ vide (enlevez toute entrée).
    • Classe de pilote : net.snowflake.client.jdbc.SnowflakeDriver.
    • Utiliser SQL sur HTTP : false.
  5. Modélisez les données à l'aide de cette connexion.
  6. Téléchargez ou publiez le modèle sémantique vers Oracle Analytics Cloud lorsque vous avez terminé la modélisation.
    Oracle Analytics Cloud se connecte à la base de données Snowflake sans utiliser Data Gateway.
Vous pouvez désormais modéliser les données à l'aide de cette connexion.

Création d'une connexion de modèle sémantique distante à Snowflake

Connectez-vous à une base de données Snowflake locale de façon à pouvoir modéliser les données Snowflake.

  1. Dans l'outil d'administration de modèle, activez la fonctionnalité de pool de connexions JDBC en chargeant les sources de données Java. Reportez-vous à l'étape 3 dans Configuration et inscription de la passerelle de données en vue de la génération de rapports.
  2. Dans l'outil d'administration de modèle, créez une base de données et définissez le type sur Snowflake.
  3. Ajoutez un pool de connexions et indiquez les détails suivants dans l'onglet Général :
    • Interface d'appel : JDBC (pilote direct).
    • Noms de table qualifiés complets obligatoires : oui.
    • Nom de source de données : saisissez la chaîne de connexion. Par exemple : jdbc:snowflake://xxxx.snowflakecomputing.com?db=ODEV&warehouse=xxxxxx&schema=xxxxxx
    • Version de RDC : définissez ce champ sur 2.
  4. Dans l'onglet Divers, fournissez les détails suivants :
    • URL du serveur JDS : laissez ce champ vide (enlevez toute entrée).
    • Classe de pilote : net.snowflake.client.jdbc.SnowflakeDriver.
    • Utiliser SQL sur HTTP : true.
  5. Modélisez les données à l'aide de cette connexion.
  6. Téléchargez ou publiez le modèle sémantique vers Oracle Analytics Cloud lorsque vous avez terminé la modélisation.
    Remarque : Oracle Analytics Cloud se connecte à Snowflake via n'importe quel agent Data Gateway configuré.
  7. Copiez le fichier du pilote Snowflake vers chaque dossier d'installation d'agent Data Gateway.
    • Dans un déploiement de serveur, copiez le fichier JAR dans : <Data Gateway install_location>/domain/jettybase/thirdpartyDrivers.
    • Dans un déploiement personnel sous Windows, copiez le fichier JAR dans : <Data Gateway_extract_path>\thirdpartyDrivers.
    • Dans un déploiement personnel sous macOS, copiez le fichier JAR dans : <Application->Show Package Contents>Resources->app.nw-> thirdpartyDrivers.
  8. Redémarrez la passerelle de données. Reportez-vous à Gestion de la passerelle de données.

Modélisation de données dans Google BigQuery

Connectez-vous à une base de données Google BigQuery pour pouvoir modéliser et visualiser des données dans Google BigQuery. Vous pouvez modéliser des données Google BigQuery dans le modeleur sémantique ou l'outil d'administration de modèle. Ces tâches décrivent le processus qui utilise l'outil d'administration de modèle.

Rubriques

Création d'une connexion Oracle Analytics à Google BigQuery

Vous pouvez créer une connexion système à une base de données Google BigQuery et utiliser la connexion pour modéliser le projet Google BigQuery.

Avant de commencer, téléchargez la clé privée de compte de service (au format JSON) en local pour votre service Google BigQuery.
  1. Sur la page d'accueil d'Oracle Analytics, cliquez sur Créer, puis sur Connexion.
  2. Cliquez sur BigQuery.
  3. Entrez les détails de la connexion.
    • Dans Nom de connexion, indiquez un nom convivial pour identifier les détails de la connexion dans Oracle Analytics.
    • Dans Projet, indiquez le nom du projet BigQuery à analyser en minuscules.
    • Dans Clé privée de compte de service, cliquez sur Sélectionner et téléchargez la clé privée de compte de service (au format JSON) pour le service BigQuery. Le champ Adresse électronique de compte de service est rempli avec les détails de la clé téléchargée.
    • Sélectionnez l'option Connexion système.

  4. Enregistrez les détails.

Téléchargement et configuration d'un pilote ODBC BigQuery

Installez le pilote ODBC requis pour la connexion à Google BigQuery et configurez-le dans l'outil d'administration de modèle afin de modéliser le projet

  1. Téléchargez le pilote ODBC de BigQuery Simba à partir de Google.
    Par exemple, téléchargez-le à partir du site de référence Google.
  2. Installez le pilote téléchargé sur l'ordinateur sur lequel les outils client Oracle Analytics sont installés.
  3. Configurez le pilote ODBC à l'aide de la boîte de dialogue de configuration du nom de la source de données.

  4. Cliquez sur Tester pour tester la connexion.

  5. Enregistrez les détails.

Construction d'un modèle de données à partir d'une source de données Google BigQuery

Vous pouvez construire un modèle de données pour la base de données Google BigQuery afin de le déployer dans le but de visualiser des données dans un projet BigQuery.

Pour construire un modèle de données, vous avez besoin des droits d'accès dans la clé BigQuery. Si la clé BigQuery donne accès au niveau d'ensemble de données, importez simplement des métadonnées à l'aide du pilote ODBC BigQuery en suivant les étapes ci-après. Si la clé BigQuery donne uniquement accès à des tables ou des vues spécifiques, suivez les étapes ci-après pour créer un schéma physique.
  1. Dans l'outil d'administration de modèle, créez une base de données dans le référentiel et définissez Type de base de données sur ODBC de base.

  2. Dans la boîte de dialogue Pools de connexions, créez un pool de connexions dans la base de données.
    • Dans Interface d'appel, sélectionnez Par défaut (ODBC 2.0).
    • Dans le champ Nom de la source de données, sélectionnez le pilote ODBC BigQuery créé précédemment.

  3. Créez un schéma physique dans la base de données en utilisant le même nom que l'ensemble de données BigQuery.
    BigQuery SQL requiert que le nom d'ensemble de données soit précédé du nom de la table : dataset.table. Le nom d'ensemble de données correspond à celui d'un objet de schéma physique dans le fichier du référentiel.
  4. Cliquez avec le bouton droit de la souris sur le pool de connexions et sélectionnez Importer les métadonnées.
  5. Dans la boîte de dialogue Sélectionner une source de données, sélectionnez ODBC 2.0 ou ODBC 3.5 pour le type de connexion et sélectionnez le pilote ODBC BigQuery.

  6. Dans la boîte de dialogue Sélectionner les types de métadonnées, sélectionnez Vues et n'importe quels autres types à utiliser pour lesquels votre clé BigQuery dispose de droits d'accès.

  7. Dans la boîte de dialogue Sélectionner les types de métadonnées, sélectionnez les tables individuelles et cliquez sur Importer la sélection. Cette action entraîne l'import de la base de données BigQuery et des structures sous-jacentes.

    Si vous cliquez sur Importer tout, vous importez uniquement la base de données. Si cela se produit, sélectionnez Importer tout une deuxième fois afin d'importer les tables.
  8. Cliquez sur Terminer.
  9. Faites glisser les tables importées dans un schéma physique.
  10. Modifiez la base de données physique et remplacez son type par BigQuery.

    Lorsque vous modifiez la base de données physique, vous voyez un message indiquant que le type de base de données ne correspond pas à l'interface d'appel définie dans le pool de connexions. Cliquez sur Oui.

  11. Dans la boîte de dialogue Pool de connexions, configurez ces paramètres :
    • Dans Interface d'appel, remplacez l'interface d'appel par JDBC (pilote direct).
    • Sélectionnez Noms de table qualifiés complets obligatoires.
    • Sélectionnez Utiliser la connexion aux données.
    • Dans Oracle Analytics, inspectez la connexion BigQuery et copiez l'ID d'objet. BigQuery fait la distinction entre les minuscules et les majuscules. Pour vous assurer que la syntaxe de la connexion de données est correcte, utilisez le bouton Copier.

    • Dans la boîte de dialogue Pool de connexions, collez l'ID d'objet que vous avez copié dans le champ ID d'objet.
    • Définissez Nombre maximal de connexions sur 100.
  12. Enregistrez les détails.
Modélisez les métadonnées dans le référentiel et téléchargez le fichier de référentiel (RPD) vers Oracle Analytics.

Dépannage des problèmes de connexion au référentiel pour Google BigQuery

Voici quelques problèmes que vous pourriez rencontrer lors de la connexion à Google BigQuery et les solutions de contournement associées.

Si l'option Noms de table qualifiés complets obligatoires n'est pas sélectionnée et qu'aucun schéma physique ne fait partie du code SQL généré, les requêtes échouent avec un message semblable à celui-ci : 'Echec de la lecture des données à partir du serveur de source de données Java'.

Si la requête est exécutée sur BigQuery à l'aide de nqcmd ou d'un autre outil d'entrée SQL, le message d'erreur réel est affiché :

WITH SAWITH0 AS (select distinct T4.PROP_CD as c1 from FINOPS_RM_OCC_ACT T4) select 0 as c1, D1.c1 as c2 from SAWITH0 D1 order by c2
[Simba][BigQuery] (70) Invalid query: Table "FINOPS_RM_OCC_ACT" must be qualified with a dataset (e.g. dataset.table).
Statement preparation failed

La méthode de qualification de la requête avec un ensemble de données consiste à utiliser un schéma physique dans le fichier de référentiel.

Si la connexion Oracle Analytics utilise un nom de projet en majuscules, la connexion est établie.

Deux problèmes peuvent survenir.

1. Echec des requêtes avec un message 404 Introuvable à propos d'une URL masquée :

[2022-03-17T01:13:44.105+00:00] [OBIS] [TRACE:2] [USER-34] [] [ecid: d6382db0-1e63-427e-893b-18bc00c0424e-0000de96,0:2:1:5] [sik: bootstrap] [tid: 856a6700] [messageId: USER-34] [requestid: 6358001e] [sessionid: 63580000] [username: Testuser] -------------------- Query Status: [nQSError: 46164] HTTP Server returned 404 (Not Found) for URL [masked_url]. [[
[nQSError: 46281] Failed to download metadata for dataset ‘system’.‘BigQuery Test’.
[nQSError: 43119] Query Failed:

2. Dans Oracle Analytics, les ensembles de données sont visibles mais les tables sous-jacentes ne sont pas disponibles.
La description de GUID-1C0811AA-3875-4A7C-A147-230688B98583-default.png est la suivante
.png

Dans les deux cas, vous pouvez modifier la connexion de sorte que le nom du projet soit en minuscules.

Lorsque vous dépannez des connexions BigQuery dans Oracle Analytics Cloud, utilisez un client JDBC tiers pour tenter de vous connecter à BigQuery avec la même clé de compte de service.

Si la connexion échoue encore, un problème existe avec la clé de compte de service.

Si la connexion est établie, un problème existe avec Oracle Analytics et vous devez contacter le support technique Oracle.

Ce test est utile dans les cas où la clé de compte de service n'est pas vérifiée via ODBC.

Formats DSN pour les sources de données

Dans Oracle Analytics, vous pouvez modéliser les données sur site pour de nombreux types de base de données. Oracle Analytics prend en charge l'accès direct à certaines sources de données sur site via le modèle sémantique. Lorsque vous créez une connexion à la base de données à l'aide de l'outil d'administration de modèle, utilisez le format DSN approprié pour le type de base de données auquel vous établissez cette connexion dans le champ Nom de source de données de la boîte de dialogue Pool de connexions (onglet Général).

Amazon Redshift:
       DRIVER=Oracle 7.1 Amazon Redshift Wire Protocol;HOST=["host-name"];PORT=["port"];DB=["service-name"]
      SSL: DRIVER=Oracle 7.1 Amazon Redshift Wire Protocol;HOST=["host-name"];PORT=["port"];DB=["service-name"];EM=6;CPV=TLSv1.2,TLSv1.1,TLSv1, SSLv3, SSLv2;VSC=0
Apache Drill:
       DRIVER=MapR Drill ODBC Driver;Host=["host-name"];Port=["port"];CastAnyToVarchar=true;ExcludedSchemas=sys,INFORMATION_SCHEMA;AuthenticationType=Basic               Authentication;ConnectionType=Direct
Aster:
       DRIVER=Aster ODBC Driver;SERVER=["host-name"];PORT=["port"];DATABASE=["service-name"]
DB2:
      DRIVER=Oracle 7.1 DB2 Wire Protocol;IpAddress=["host-name"];PORT=["port"];DB=["service-name"]
      SSL:  DRIVER=Oracle 7.1 DB2 Wire Protocol;IpAddress=["host-name"];PORT=["port"];DB=["service-name"];EM=1;VSC=0
Greenplum:
       DRIVER=Oracle 7.1 Greenplum Wire Protocol;HOST=["host-name"];PORT=["port"];DB=["service-name"]
Hive:
       DRIVER=Oracle 8.0 Apache Hive Wire Protocol;HOST=["host-name"];PORT=["port"]
      SSL: DRIVER=Oracle 8.0 Apache Hive Wire Protocol;HOST=["host-name"];PORT=["port"];EM=1;VSC=0
Impala:
       DRIVER=Oracle 7.1 Impala Wire Protocol;HOST=["host-name"];PORT=["port"]
     SSL:  DRIVER=Oracle 7.1 Impala Wire Protocol;HOST=["host-name"];PORT=["port"];EM=1;VSC=0
Informix:
       DRIVER=Oracle 7.1 Informix Wire Protocol;HOSTNAME=["host-name"];PORTNUMBER=["port"];DATABASE=["service-name"]
MongoDB:
       DRIVER=Oracle 8.0 MongoDB;HOST=["host-name"];PORT=["port"];DB=["service-name"]
MySQL:
      DRIVER=Oracle 7.1 MySQL Wire Protocol;HOST=["host-name"];PORT=["port"];DB=["service-name"]
PostgresSql:
       DRIVER=Oracle 7.1 PostgreSQL Wire Protocol;HOST=["host-name"];PORT=["port"];DB=["service-name"]
Spark:
      DRIVER=Oracle 8.0 Apache Spark SQL;HOST=["host-name"];PORT=["port"]
      SSL:  DRIVER=Oracle 8.0 Apache Spark SQL;HOST=["host-name"];PORT=["port"];EM=1;VSC=0
SQL Server:
     DRIVER=Oracle 7.1 SQL Server Wire Protocol;HOST=["host-name"];PORT=["port"];DB=["service-name"]
     SSL:  DRIVER=Oracle 7.1 SQL Server Wire Protocol;HOST=["host-name"];PORT=["port"];DB=["service-name"];EM=1;VSC=0;CryptoProtocolVersion=TLSv1.2,TLSv1.1,TLSv1,SSLv3,SSLv2
Sybase:
       DRIVER=Oracle 7.1 Sybase Wire Protocol;NA=["host-name"], ["port"];DB=["service-name"]
Teradata:
       DRIVER=Oracle 7.1 Teradata;DBCName=["host-name"];port_name=["port"]