QlikView - Import
Prérequis du pont
Ce pont :n'est supporté que sous Microsoft Windows.
nécessite une installation de l'outil pour accéder à son SDK.
Spécifications du pont
Fournisseur | QlikTech |
Nom de l'outil | QlikView |
Version de l'outil | 11.2 à 12.x |
Site Web de l'outil | http://www.qlik.com/us/products/qlikview |
Méthodologie supportée | [Business Intelligence] Multimodèle, Rapport BI (Source relationnelle, Parsage d'expressions, Structure de rapports) via une API COM sur un fichier QVW ou QVD |
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/QlikView version 11.2 à 12.x via une API COM sur un fichier QVW ou QVD
Consultez http://www.qlik.com/us/products/qlikview
Métadonnées : [Business Intelligence] Multimodèle, Rapport BI (Source relationnelle, Parsage d'expressions, Structure de rapports)
Composant : QlikViewFiles version 11.2.0
VUE D'ENSEMBLE
Ce pont d'import importe des métadonnées de reporting Business Intelligence (BI) à partir d'un répertoire (et des sous-répertoires) des fichiers QlikView, notamment :
- des documents QlikView Working (QVW) ;
- des fichiers QlikView Data (QVD) ;
- des fichiers de log d'exécution QlikView associés à chaque document QVW ;
- des fichiers de script externe QlikView référencés par des documents QVW.
PRÉREQUIS
AVERTISSEMENT : Ce pont utilise l'API COM d'un client basé Windows et/ou SDK devant être (a) correctement installé, (b) avoir une licence adéquate au nom de l'utilisateur Windows capable d'exécuter cet outil et (c) capable d'accéder au contenu du serveur de l'outil. De plus :
(1) Comme recommandé par le fournisseur de l'outil, le serveur de l'outil ne doit pas être installé ou coexister sur la machine où le client de l'outil (et le pont) est installé/en cours d'exécution, à cause de conflits potentiels de ressources, notamment par rapport à l'API COM.
(2) Les outils basés sur l'API COM Windows sont connus pour être instables après des échecs répétés ou un manque de ressources système et nécessitent un redémarrage de Windows pour fonctionner à nouveau correctement.
(3) Si ce pont s'exécute en tant qu'application, la connexion doit être faite par le même utilisateur que pour Windows.
Si ce pont est exécuté en tant que service Windows, allez dans le gestionnaire des services Windows, cliquez-droit sur le service MIMB Application Server et allez dans l'onglet "Log On" pour définir le nom du compte sous lequel le service va s'exécuter.
- Logiciel QlikView installé :
Ce pont d'import requiert que le logiciel QlikView et son API COM/OLE soient installés sur la machine l'exécutant.
- Le logiciel QlikView n'est pas en cours d'exécution :
Étant donné que la connectivité à l'API se fait via une automatisation basée sur COM, veillez à fermer toutes les instances QlikView et consultez le Gestionnaire de tâches pour confirmer qu'aucun processus QlikView n'est en cours d'exécution, car cela pourrait interférer avec le démarrage de ce pont d'import.
- Log d'exécution QlikView disponible :
Ce pont d'import requiert le log d'exécution de document QlikView, car certains (ou tous les) détails de métadonnées ne peuvent pas être extraits du script source en raison de leur aspect dynamique (p. ex. utilisation de boucles, sous-routines, définitions de variable).
Notez que le paramètre Divers propose une option -log.notavailable (mais elle n'est pas recommandée).
FOIRE AUX QUESTIONS
Q : Que faire si ce pont d'import semble s'arrêter un long moment sans afficher de message de log après "Connecté à la version xx.xx.xxxxx.x de QlikView" ?
R : Problème de fenêtre pop-up : Étant donné que la connectivité à l'API se fait via une automatisation basée sur COM, l'import peut être bloqué, car un message de boîte de dialogue peut être émis par QlikView et attendre une réponse. Pour résoudre ce problème, recherchez des fenêtres en arrière-plan pouvant être la boîte de dialogue demandant l'attention de l'utilisateur. Parfois, par exemple si ce pont d'import est exécuté en tant que service plutôt que directement en tant qu'application, pour être certain de voir ce message, réexécutez ce pont en tant qu'application plutôt qu'en tant que service.
Q : Comment créer les fichiers de log d'exécution utilisés par ce pont d'import ?
R : Les fichiers de log d'exécution sont générés par QlikView lorsqu'un script de document QVW est exécuté. Activez la génération des fichiers de log dans le menu de QlikView Paramètres > Propriétés du document > Général > Générer un fichier de log. Ensuite, exécutez le script du document QVW.
Q : Quand dois-je générer des fichiers de log d'exécution ?
R : 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 : 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).
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 (QVW, QVD, logs d'exécution, scripts externes). Si vous souhaitez supprimer des données confidentielles de ces fichiers, demandez à un script de s'en charger.
Paramètres du pont
Nom du paramètre | Description | Type | Valeurs | Défaut | Périmètre |
Directory | Répertoire (et sous-répertoires) des documents QlikView, fichiers de log et fichiers de scripts externes impliqués dans le projet QlikView. Idéalement, le paramètre doit pointer vers l'emplacement de production du projet. Lorsqu'il n'est pas possible d'accéder à l'emplacement de production directement, vous pouvez copier le répertoire de production dans un emplacement différent et faire pointer le paramètre vers cet emplacement. Dans ce cas, lorsque le projet utilise des instructions DIRECTORY QlikView, vous devez rediriger les instructions vers le nouvel emplacement. Consultez la documentation du paramètre Divers pour obtenir des informations supplémentaires. |
RÉPERTOIRE | Éléments obligatoires | ||
ID utilisateur | Identifiant de l'utilisateur spécifié dans la section Accès pour protéger tous les documents QlikView. Cet identifiant d'utilisateur doit avoir accès à tous les documents dans le répertoire. Sinon, le pont d'import restera en suspens, à cause d'une fenêtre contextuelle de QlikView qui attendra un identifiant d'utilisateur correct. | Chaîne de caractères | |||
Password | Mot de passe pour l'identifiant d'utilisateur spécifié dans la section Accès pour protéger tous les documents QlikView. | MOT DE PASSE | |||
Filtre par inclusion | Le modèle utilise la syntaxe des expressions UNIX glob étendue, sensible à la casse. Vous pouvez spécifier plusieurs modèles en les séparant par une virgule. Voici quelques exemples courants : *.* - inclut tout fichier au niveau racine *.csv - inclut uniquement les fichiers CSV au niveau racine **.csv - inclut uniquement les fichiers CSV à tous les niveaux *.{csv,gz} inclut uniquement les fichiers CSV ou GZ au niveau racine dir\*.csv - inclut uniquement les fichiers CSV dans le dossier "dir" dir\**.csv - inclut uniquement les fichiers CSV dans le dossier "dir" à tous les niveaux dir\**.* - inclut tout fichier dans le dossier "dir" à tous les niveaux f.csv - inclut tous les fichiers dans n'importe quel dossier "dir" à tous les niveaux **\f.csv - inclut uniquement f.csv à tous les niveaux **dir\** - inclut tous les fichiers dans n'importe quel dossier "dir" à tous les niveaux **dir1\dir2\** - inclut tous les fichiers dans n'importe quel dossier "dir2", sous n'importe quel dossier "dir1" à tous les niveaux |
Chaîne de caractères | |||
Filtre par exclusion | Le modèle utilise la même syntaxe que le Filtre par inclusion. Vous pouvez le consulter pour obtenir des détails sur la syntaxe et quelques exemples. Les fichiers qui correspondent au filtre par exclusion sont ignorés. Vous pouvez spécifier plusieurs modèles en les séparant par une virgule. Si les filtres par inclusion et par exclusion sont vides, tous les dossiers et fichiers sous le répertoire racine sont inclus. Si le filtre par inclusion est vide et que le filtre par exclusion ne l'est pas, les dossiers et fichiers sous le répertoire racine sont inclus, sauf ceux correspondant au filtre d'exclusion. |
Chaîne de caractères | |||
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 <liste de types 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. La liste de types de base de données de connexion doit être spécifiée sous la forme d'une paire de valeurs séparées par une virgule : <Connection name>=<Database type> 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 , MyConnectionName1=TERADATA , MyConnectionName1=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 : -directory [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], [\\inaccessible2]=[c:\accessible2] Le pont d'import applique plusieurs options -file.path dans l'ordre fourni. -file.path [\\a]=[c:\a], [\\aa]=[c:\aa] - La mauvaise façon -file.path [\\aa]=[c:\aa], [\\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 QlikView à 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. -qvd.as.file Si ce paramètre est spécifié, le pont importe des fichiers QVD à partir d'instructions LOAD, STORE en tant que fichiers usuels (type CSV ou TXT). Les fichiers QVD peuvent être inaccessibles. Il n'est pas nécessaire d'écraser les chemins des fichiers QVD inaccessibles à l'aide de -file.path. Si ce paramètre n'est pas spécifié, le pont importe des fichiers QVD en tant que modèles OLAP. Les fichiers QVD doivent être accessibles par ce pont d'import (consultez -file.path pour plus d'informations). |
Chaîne de caractères |
Mapping du pont
Meta Integration Repository (MIR) Métamodèle (se base sur le standard OMG CWM) |
"QlikView" Métamodèle QlikView (Application) |
Mapping des commentaires |
DirectoryStructureModel | Application | |
CreationTime | Heure de création | |
Description | Description | |
ImportDate | Date d'import | |
Name (Nom) | Name (Nom) | |
NativeId | Identifiant natif | |
NativeType | Type natif | |
Dossier | Dossier | |
Author | Auteur | |
CreationTime | Heure de création | |
Description | Description | |
LastModificationTime | Heure de la dernière modification | |
Modificateur | Modificateur | |
Name (Nom) | Name (Nom) | |
NativeId | Identifiant natif | |
NativeType | Type natif | |
StoreContent | QVW, Connexion, QVD | |
Author | Auteur | |
CreationTime | Heure de création | |
Description | Description | |
LastModificationTime | Heure de la dernière modification | |
Modificateur | Modificateur | |
Name (Nom) | Name (Nom) | |
NativeId | Identifiant natif | |
NativeType | Type natif |