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

QlikSense Cloud - Import

Availability-note AWS

Prérequis du pont

Ce pont :
  • nécessite un accès à Internet vers https://repo.maven.apache.org/maven2/ et/ou d'autres sites d'outils permettant de télécharger des pilotes dans <TDC_HOME>/data/download/MIMB/.

  • nécessite une installation de l'outil pour accéder à son SDK.

Spécifications du pont

Fournisseur QlikTech
Nom de l'outil Qlik Sense
Version de l'outil Cloud courant
Site Web de l'outil http://www.qlik.com/us/products/qlik-sense
Méthodologie supportée [Business Intelligence] Multimodèle, Rapport BI (Source relationnelle, Parsage d'expressions, Structure de rapports) via une API REST
Profiling de données
Collecte incrémentale
Collecte multi-modèle
Navigation dans le référentiel distant pour sélectionner un modèle

SPÉCIFICATIONS
Outil : QlikTech/QlikSense version courante du Cloud via WebSocket, API REST
Consultez http://www.qlik.com/us/products/qlik-sense
Métadonnées : [Business Intelligence] Multimodèle, Rapport BI (Source relationnelle, Parsage d'expressions, Structure de rapports)
Composant : QlikSenseCloud version 11.2.0

AVERTISSEMENT
Ce pont d'import nécessite un accès à Internet pour télécharger les bibliothèques tierces :
- comme https://repo.maven.apache.org/maven2/ pour télécharger les bibliothèques open source tierces,
- et d'autres sites pour plus de logiciels tiers, comme des pilotes de bases de données spécifiques à JDBC.

Les bibliothèques tierces téléchargées sont stockées dans $HOME/data/download/MIMB/
- Si le protocole HTTPS échoue, le pont d'import essaye ensuite avec HTTP.
- Si un proxy est utilisé pour accéder à Internet, vous devez configurer ce proxy dans l'environnement JRE (voir l'option -j dans le paramètre Divers).
- Si le pont d'import n'a pas d'accès à Internet, le répertoire $HOME/data/download/MIMB/ peut être copié depuis un autre serveur qui a accès à Internet, où la commande $HOME/bin/MIMB.sh (ou .bat) -d peut être utilisée pour télécharger en une fois toutes les bibliothèques tierces utilisées par tous les ponts.

En exécutant ce pont d'import, vous reconnaissez être responsable des conditions d'utilisation et de toute autre faille de sécurité potentielle liées au téléchargement de ces bibliothèques logicielles tierces.

VUE D'ENSEMBLE
Ce pont d'import importe des métadonnées de rapports Business Intelligence (BI) depuis différentes applications Qlik Sense (applications QVF) dans un Cloud Qlik Sense.

PRÉREQUIS
Ce pont d'import nécessite un accès à l'API du moteur Qlik (JSON sur WebSocket) et REST.

Pour importer correctement :
- Le compte utilisateur utilisé doit avoir les droits d'accès en lecture attribués.
- Cela peut s'effectuer en créant des règles de sécurité pour une application et un utilisateur spécifiques.
Il est impératif que l'utilisateur ait les droits d'accès appropriés :
- Lire tous les objets d'application (particulièrement le script)
- Lire toutes les connexions de données (ou au minimum les connexions de données spécifiées dans l'application).

FOIRE AUX QUESTIONS
Q : Quand dois-je générer des fichiers de log d'exécution ?
R : Les rapports utilisent des scripts de chargement de données. Les fichiers de log d'exécution contiennent des informations qui aident le pont d'import à comprendre les expressions de scripts. Si le script contient des variables, boucles ou instructions de script dynamiques, les fichiers de log d'exécution peuvent être utiles.

Q : Comment fournir au Support les informations nécessaires pour reproduire un problème ?
R : Fournissez une archive des fichiers impliqués dans le problème (QVF, QVD, logs d'exécution, scripts externes).

Q : Comment puis-je éviter l'erreur : Handshake response not received
R : Vérifiez que le nom de l'hôte utilisé pour générer le certificat est le même que celui utilisé dans le paramètre d'URL.

Q : J'ai collecté un modèle avec l'option "-force.no.data" Cependant, le modèle contient toujours les informations relatives à la table. Puisque je collecte les métadonnées, pourquoi ai-je besoin des données ?
R : Comme l'option "-force.no.data" a été spécifiée dans le paramètre Miscellaneous (Divers), le script était présent pour le document spécifié et est donc utilisé pour faire parser les métadonnées de la table par le pont d'import. Le pont d'import importe ensuite le document avec les métadonnées parsées. Le pont d'import atteint les métadonnées de la table en invoquant l'API getFieldList de Qlik. Aucune donnée réelle de document n'est parsée ou importée par le pont d'import.

Q : Pourquoi mon import produit-il un lignage incorrect si les tables ont le même nom, dans différents projets ?
R : Par exemple, le document charge des données des tables X et Y vers la table Z. Il stocke ensuite les données de la table Z vers le fichier abc123.qvd. Il supprime ensuite la table Z.
Puis il charge les données des tables Y et W vers la table Z et stocke le fichier qwe123.qvd. Il supprime ensuite la table Z.
Puis il charge les données des tables T et X vers la table Z et stocke le fichier asq123.qvd.
Ce document réutilise le nom de la table Z dans trois instructions SQL SELECT différentes. (SELECT > STORE > DROP)
Afin de maintenir le lignage, je dois créer les trois tables susmentionnées, mais je ne peux créer trois tables du même nom. Le pont détecte les tables supprimées et les traite comme des tables temporaires, accordant à chacune un nom unique. Le format de ce nom est : name_Md5(application id)_removedTableNumber.

LIMITATIONS
Consultez les limitations générales connues à l'adresse https://metaintegration.com/Products/MIMB/Help/#!Documents/mimbknownlimitations.html

SUPPORT
Fournissez un package de dépannage avec :
- le log de débogage (configurable dans l'interface ou dans conf/conf.properties avec MIR_LOG_LEVEL=6)
- la sauvegarde des métadonnées si disponible (configurable dans le paramètre Divers avec l'option -backup même si cette option commune n'est pas implémentée pour tous les ponts pour des raisons techniques).


Paramètres du pont

Nom du paramètre Description Type Valeurs Défaut Périmètre
URL du Cloud URL du Cloud Qlik Sense requise pour se connecter à l'API du moteur Qlik Sense.
Exemple d'URL Cloud : https://{tenant-id}.us.qlikcloud.com/
Chaîne de caractères     Éléments obligatoires
Token Jeton d'API. MOT DE PASSE     Éléments obligatoires
Éléments Liste d'éléments, comme des espaces, des applications et des QVD, séparés par un point-virgule.
Vous pouvez identifier les éléments en utilisant leur chemin ou leur ID.
Un élément, comme une application ou un QVD, appartient à un espace. Son chemin consiste en un espace et des noms d'éléments séparés par une barre oblique, comme "Space1/Item1".
Vous pouvez filtrer les éléments en masse par chemin. Cela vous permet de spécifier les groupes d'éléments à inclure et à exclure.
Par exemple, 'Space0;Space2;Space3/Item3;/^*_Test'
inclut tous les éléments dans l'espace1 et l'espace2, l'élément3 de l'espace3 et exclut tous les éléments comportant _Test dans leur nom
Voici d'autres exemples :
Space1/Item1 | élément particulier
Space1/Item1;Space2/Item2 | éléments multiples (séparés par un point-virgule)
Space1 | tous les éléments dans un espace (nom de l'espace sans barre oblique de séparation)
Space1;Space2 | espaces multiples
/*substring | Inclut tous les éléments contenant une sous-chaîne de caractères dans n'importe quel espace
/^*substring | Exclut tous les éléments contenant une sous-chaîne de caractères dans n'importe quel espace
Space1/*substring | Inclut tous les éléments contenant une sous-chaîne de caractères dans le nom et appartenant à un espace
Space1/^*substring | Exclut tous les éléments contenant une sous-chaîne de caractères dans le nom et appartenant à un espace

Les utilisateurs avancés peuvent spécifier des éléments à l'aide des paramètres de requête GET/v1/items.
https://qlik.dev/apis/rest/items/#%23%2Fentries%2Fv1%2Fitems-get
La valeur du paramètre indique la fin de l'URL d'API commençant par le caractère point d'interrogation.
Par exemple, vous pouvez obtenir des éléments de la collection avec l'identifiant 12345, à l'aide de la valeur ?collectionId=12345 du paramètre

Si ce paramètre n'est pas renseigné, toutes les applications et tous les QVD sont importés.
REPOSITORY_SUBSET      
Threads multiples Nombre de threads workers pour la collecte asynchrone des métadonnées.

- Laissez ce paramètre vide si vous souhaitez que le pont d'import calcule la valeur, entre 1 et 6, en se basant sur l'architecture de la JVM et le nombre de cœurs du processeur disponibles.

- Spécifiez une valeur numérique supérieure ou égale à 1 pour indiquer le nombre réel de threads.
Si la valeur spécifiée n'est pas valide, un avertissement sera émis et cette valeur sera remplacée par 1.
Si vous manquez de mémoire lors de la collecte asynchrone, réessayez avec un nombre plus petit.
Si votre machine dispose de beaucoup de mémoire (par exemple 10 Go ou plus), vous pouvez essayer avec un plus grand nombre pour la collecte simultanée de nombreux documents.
Notez que la définition d'un nombre trop important peut engendrer une diminution des performances en raison d'un conflit des ressources.
NUMERIC      
Miscellaneous INTRODUCTION
Spécifiez les options Divers, commençant par un tiret et suivies éventuellement par des paramètres, par exemple :
-connection.cast MyDatabase1="MICROSOFT SQL SERVER"
Certaines options peuvent être utilisées plusieurs fois, si applicable, par exemple :
-connection.rename NewConnection1=OldConnection1 -connection.rename NewConnection2=OldConnection2;
La liste d'options pouvant être une longue chaîne, il est possible de la charger à partir d'un fichier qui doit être situé dans ${MODEL_BRIDGE_HOME}\data\MIMB\parameters et avoir l'extension .txt. Dans ce cas, toutes les options doivent être définies au sein de ce fichier comme seule valeur de ce paramètre, par exemple
ETL/Miscellaneous.txt

OPTIONS DE L'ENVIRONNEMENT JAVA
-java.memory <taille maximale de la mémoire Java> (anciennement -m)

1 Go par défaut sur un JRE de 64 bits ou tel que défini dans conf/conf.properties, par exemple
-java.memory 8G
-java.memory 8000M

-java.parameters <options de ligne de commande de Java Runtime Environment> (anciennement -j)

Cette option doit être la dernière dans le paramètre Divers car tout le texte après -java.parameters est passé tel quel à la JRE. Par ex.
-java.parameters -Dname=value -Xms1G
L'option suivante doit être définie lorsqu'un proxy est utilisé pour accéder à Internet (cela est essentiel pour accéder à https://repo.maven.apache.org/maven2/ et exceptionnellement à quelques autres sites d'outils) afin de télécharger les bibliothèques logicielles tierces nécessaires.
Note : La majorité des proxys sont relatifs au chiffrement (HTTPS) du trafic extérieur (à l'entreprise) et à la confiance en le trafic intérieur pouvant accéder au proxy via HTTP. Dans ce cas, une requête HTTPS atteint le proxy via HTTP où le proxy la chiffre en HTTPS.
-java.parameters -java.parameters -Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=3128 -Dhttp.proxyUser=user -Dhttp.proxyPassword=pass

OPTIONS D'IMPORT DU MODÈLE
-model.name <nom modèle>

Écrase le nom du modèle, par ex.
-model.name "My Model Name"

-prescript <nom script>

Cette option permet d'exécuter un script avant l'exécution du pont.
Le script doit se situer dans le répertoire bin (ou comme spécifié dans M_SCRIPT_PATH dans conf/conf.properties) et avoir une extension .bat ou .sh.
Le chemin d'accès au script ne doit pas inclure de symbole relatif au répertoire parent (..).
Le script doit retourner le code de sortie 0 pour indiquer un succès ou une autre valeur pour indiquer un échec.
Par exemple :
-prescript "script.bat arg1 arg2"

-postscript <nom script>

Cette option permet d'exécuter un script après l'exécution réussie du pont.
Le script doit se situer dans le répertoire bin (ou comme spécifié dans M_SCRIPT_PATH dans conf/conf.properties) et avoir une extension .bat ou .sh.
Le chemin d'accès au script ne doit pas inclure de symbole relatif au répertoire parent (..).
Le script doit retourner le code de sortie 0 pour indiquer un succès ou une autre valeur pour indiquer un échec.
Par exemple :
-postscript "script.bat arg1 arg2"

-cache.clear

Vide le cache avant l'import et va exécuter un import complet avec collecte incrémentale.

Si le modèle n'a pas été modifié et que le paramètre -cache.clear n'est pas utilisé (collecte incrémentale), une nouvelle version ne sera pas créée.
Si le modèle n'a pas été modifié et que le paramètre -cache.clear n'est pas utilisé (collecte incrémentale), une nouvelle version ne sera pas créée.

-backup <répertoire>

Permet d'enregistrer les métadonnées d'entrée à des fins de débogage. Le <répertoire> fourni doit être vide.

-restore <répertoire>

Spécifiez le <répertoire> de sauvegarde à restaurer.

OPTIONS DES CONNEXIONS DE DONNÉES
Les connexions de données sont produites par les ponts d'import, généralement à partir des outils ETL/DI et BI pour faire référence aux data stores sources et cibles qu'elles utilisent. Ces connexions de données sont ensuite utilisées par les outils de gestion des métadonnées pour connecter ces dernières (connexion des métadonnées) à leurs data stores réels (par exemple, bases de données, système de fichiers, etc.) afin de produire le lignage complet de flux de données et de l'analyse d'impact de bout en bout. Le nom des connexions de données doit être unique dans chaque modèle d'import. Les noms de connexion de données utilisés dans les outils de conception DI/BI sont utilisés quand cela est possible, sinon ils sont générés en étant courts mais significatifs, comme le nom de la base de données/du schéma, le chemin d'accès au système de fichiers ou l'URI (Uniform Resource Identifier). L'option suivante vous permet de manipuler les connexions. Ces options remplacent les options héritées -c, -cd et -cs.

-connection.cast ConnectionName=ConnectionType

Lance une connexion à une base de données générique (par exemple ODBC/JDBC) pour un type de base de données précis (par exemple ORACLE) pour une analyse SQL, par exemple
-connection.cast "My Database"="MICROSOFT SQL SERVER".
La liste des types de connexions aux data stores comprend :
ACCESS
APACHE CASSANDRA
DB2/UDB
DENODO
GOOGLE BIGQUERY
HIVE
MYSQL
NETEZZA
ORACLE
POSTGRESQL
PRESTO
REDSHIFT
SALESFORCE
SAP HANA
SNOWFLAKE
MICROSOFT SQL AZURE
MICROSOFT SQL SERVER
SYBASE SQL SERVER
SYBASE AS ENTERPRISE
TERADATA
VECTORWISE
HP VERTICA

-connection.rename OldConnection=NewConnection

Renomme une connexion existante, par exemple, par ex.
-connection.rename OldConnectionName=NewConnectionName
Plusieurs connexions de bases de données existantes peuvent être renommées et fusionnées en une nouvelle connexion de base de données, par exemple :
-connection.rename MySchema1=MyDatabase -connection.rename MySchema2=MyDatabase

-connection.split oldConnection.Schema1=newConnection

Scinde une connexion de base de données en une ou plusieurs connexions de base de données.
Une connexion de base de données peut être scindée en une connexion par schéma, par exemple :
-connection.split MyDatabase
Toutes les connexions de base de données peuvent être fractionnées en une connexion par schéma, par exemple :
-connection.split *
Une connexion de base de données peut être explicitement fractionnée en une nouvelle connexion de base de données en ajoutant un nom de schéma à une base de données, par exemple :
-connection.split MyDatabase.schema1=MySchema1

-connection.map SourcePath=DestinationPath

Mappe un chemin d'accès source à un chemin d'accès de destination. Cela est utile pour les connexions aux systèmes de fichiers lorsque différents chemins d'accès pointent vers le même objet (répertoire ou fichier).
Sur Hadoop, un processus peut écrire dans un fichier CSV spécifié avec le chemin d'accès complet HDFS, tandis qu'un autre processus lit d'une table Hive implémentée (externe) par le même fichier spécifié à l'aide d'un chemin d'accès relatif avec un nom et une extension de fichier par défaut, par exemple :
-connection.map /user1/folder=hdfs://host:8020/users/user1/folder/file.csv
Sous Linux, il peut être fait référence à un répertoire (ou à un fichier) donné tel que /data par plusieurs liens symboliques tels que /users/john et /users/paul, par exemple :
-connection.map /data=/users/John -connection.map /data=/users/paul
Sous Windows, il peut être fait référence à un répertoire donné tel que C:\data par plusieurs lecteurs réseau tels que M: et N:, par exemple :
-connection.map C:\data=M:\ -connection.map C:\data=N:\

-connection.casesensitive ConnectionName...

Écrase les règles de rapprochement insensibles à la casse par défaut pour les identifiants d'objets dans la connexion spécifiée, si le type du data store détecté supporte cette configuration (par ex. Microsoft SQL Server, MySQL etc.), par exemple :
-connection.casesensitive "My Database"

-connection.caseinsensitive ConnectionName...

Écrase les règles de rapprochement sensibles à la casse par défaut pour les identifiants d'objets dans la connexion spécifiée, si le type du data store détecté supporte cette configuration (par ex. Microsoft SQL Server, MySQL etc.), par exemple :
-connection.caseinsensitive "My Database"

-connection.level AggregationLevel

Spécifie le niveau d'agrégation pour les connexions externes, par exemple -connection.level catalog
Liste des valeurs supportées :
server (serveur)
catalog (catalogue)
schema (schéma)(par défaut)

-database.type <type de base de données de connexion>

Si l'accès aux bases de données est possible grâce à des connexions ODBC génériques, il est alors essentiel de connaître le type de base de données exact afin de parser correctement cette syntaxe SQL spécifique de base de données pour le lignage.
Les types de base de données supportés par le parsing SQL sont :
ACCESS
CASSANDRA
DB2
DENODO
HIVE
MYSQL
NETEZZA
ORACLE
POSTGRESQL
PRESTO
REDSHIFT
SALESFORCE
SAP HANA
SNOWFLAKE
SQL SERVER
SYBASE
TERADATA
VECTORWISE
VERTICA

Spécifiez la connexion de base de données par défaut sans nom de connexion, par exemple :
-database.type ORACLE

Si plusieurs connexions de base de données sont utilisées, spécifiez alors chaque type de base de données en utilisant le nom de la connexion associée, par exemple :
-database.type MyConnectionName=ORACLE

Il est possible de mélanger le type de base de données par défaut et plusieurs types de base de données de connexion, par exemple :
-database.type ORACLE -database.type MyConnectionName1=TERADATA -database.type MyConnectionName2=DB2

OPTIONS QLIK
-directory <instruction>

Une instruction DIRECTORY de document Qlik est utilisée pour définir le chemin d'accès au répertoire pour les instructions LOAD suivantes.

Si ce répertoire n'est pas accessible, utilisez alors une instruction DIRECTORY pour le rediriger vers un autre répertoire. Pour y parvenir, copiez l'instruction DIRECTORY depuis un log d'exécution de document Qlik, ajoutez "=" et spécifiez le chemin d'accès à un autre répertoire. Dans le cas suivant, le dossier "c:\folder" est redirigé vers le dossier "d:\folder2", par exemple :
-répertoire "c:\folder1=d:\folder2"

Si le chemin d'accès après l'instruction DIRECTORY est vide, toutes les instructions DIRECTORY sont redirigées vers le répertoire spécifié, par exemple :
-directory "[]=d:\folder2"

-file.path <répertoire du fichier>

Un document Qlik peut avoir des instructions telles que INCLUDE, STORE, LOAD qui fonctionnent avec un chemin d'accès au fichier. Si le chemin d'accès au fichier original n'est pas accessible par ce pont d'import, il enregistre les erreurs suivantes :
- "Impossible d'ouvrir le fichier Include : '\\inaccessible\scripts\include.txt"
- "Impossible d'effectuer le processus de dépendance, car le document source '\\inaccessible\QVDs\file.qvd' n'est pas accessible"
Vous pouvez résoudre les erreurs en copiant les fichiers inaccessibles dans des chemins d'accès accessibles.

Si les fichiers dont vous avez besoin sont situés dans "\\inaccessible\folder", copiez-les dans C:\accessible\folder et donnez l'instruction au pont d'import de les lire depuis leur nouvel emplacement, par exemple :
-file.path "\\inaccessible=c:\accessible"

L'option file.path vous permet de remplacer une partie du chemin d'accès du fichier d'origine par une autre en spécifiant plusieurs options file.path, par exemple :
-file.path "\\inaccessible=c:\accessible" -file.path "\\inaccessible2=c:\accessible2"

Le pont d'import applique plusieurs options -file.path dans l'ordre fourni.
-file.path "\\a=c:\a" -file.path "\\aa=c:\aa" - La mauvaise façon
-file.path "\\aa=c:\aa" -file.path "\\a=c:\a" - La bonne façon

Assurez-vous de ne pas spécifier le file.path à l'extérieur du chemin d'accès au répertoire dans lequel sont placés les documents QlikSense à importer.

-log.notavailable

Le log d'exécution du document Qlik est requis, car des métadonnées essentielles (p. ex. tables de data store sources exactes pour le lignage) ne peuvent pas être extraites directement à partir des scripts Qlik en raison de leur aspect dynamique (p. ex. utilisation de boucles, sous-routines, définitions de variable).
Cette option permet d'effectuer l'import même si le log d'exécution n'est pas disponible. Dans ce cas, des métadonnées essentielles pour le lignage peuvent manquer.

-force.no.data

Le serveur Qlik ouvre le document sans donnée et sans information relative à la table.

-no.data

Si le log d'exécution est présent, le serveur Qlik ouvre le document sans donnée et sans information relative à la table. Si le log d'exécution est absent, le serveur Qlik ouvre le document spécifié avec les données.

-hostname.whitelist

Si l'utilisateur utilise une adresse IP dans l'URL du serveur et obtient l'erreur "javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No subject alternative names matching IP address xx.xx.xx.xx found".
Cette option permet d'ajouter cette adresse IP à la liste d'autorisations.

-websocket.timeout <délai avant expiration en secondes>

Spécifiez pendant combien de secondes le pont attend une réponse WebSocket. La valeur par défaut est de 30 secondes.
Chaîne de caractères      

 

Mapping du pont

Les informations de mapping ne sont pas disponibles

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 – faites-le-nous savoir.