Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
CONCLUSION .................................................................................................................................. 23
BIBLIOGRAPHIE ............................................................................................................................. 24
P a g e 2 | 24
INTRODUCTION
Dans un monde idéal, les systèmes d’information seraient homogènes et intégrés. La réalité
est souvent bien différente avec des entreprises qui, la plupart du temps, possèdent 2 voire 3
systèmes de gestion informatisés sans que ces derniers ne communiquent entre eux ni même ne
parle le même langage. Ainsi le client est appelé « client » dans le CRM et « acquéreur » dans le
système de gestion financière. Il existe donc de grandes disparités quant au niveau de maturité des
entreprises dans le domaine des systèmes d’aide à la décision et la construction de ce genre de
système se fera proportionnellement au niveau de maturité de l’entreprise.
La complexité de l’intégration des données dans un datawarehouse n’attrait non pas à la dimension
technique, mais à la dimension fonctionnelle. Elle nécessite de disposer de l’ensemble des règles de
codification de chaque bases de données afin d’avoir une information homogène. Cette phase peut
s’avérer longue et fastidieuse. Autre problématique importante, la gestion des données manquantes
ou erronées.
L’intégration est donc une problématique qui dépasse très souvent le seul champ des systèmes
d’information, elle mène souvent à se poser des questions d’ordre organisationnel. On dit souvent
que la phase d’intégration ou de prétraitement peut souvent atteindre 60 % de l’effort de
construction d’un processus décisionnel, d’où la nécessité de procéder à une intégration de données
saine pour son datawarehouse. Dans la suite de notre travail, nous allons présenter une solution
d’intégration de données en utilisant l’outil Pentaho data intégration; ce travail sera articulé en 3
parties qui sont : La présentation de l’intégration de données, la présentation de Pentaho data
intégration et enfin un cas pratique d’intégration de données avec Pentaho data intégration.
P a g e 3 | 24
1. L’intégration de données.
1.1 Définition
L'intégration des données est le processus qui consiste à combiner des données provenant de
différentes sources dans une vue unifiée : de l'importation au nettoyage en passant par le mapping et
la transformation dans un gisement cible, pour finalement rendre les données plus exploitables et
plus utiles pour les utilisateurs qui les consultent. Les entreprises sont en train de mettre en place
des initiatives d'intégration de leurs données pour les analyser et les exploiter plus efficacement, en
particulier face à l'explosion des données entrantes et l'arrivée de nouvelles technologies comme le
cloud et les big data. L'intégration de données est une nécessité pour les entreprises innovantes qui
souhaitent améliorer leur prise de décision stratégique et augmenter leur avantage concurrentiel.
En matière d'intégration des données, il n'existe pas d'approche universelle ou standard. Toutefois,
les solutions d'intégration de données partagent généralement quelques éléments, dont un réseau de
sources de données, un serveur maître (data warehouse dans ce cas) et des clients qui accèdent aux
données à partir de ce serveur maître.
Dans la plupart des processus d'intégration des données, le client envoie une demande de données
(requête) au serveur maître. Le serveur maître importe les datasets nécessaires à partir de sources
internes et externes. Les données requises sont extraites de ces sources, puis combinées sous une
forme cohérente et unifiée. Le résultat est livré au client sous une forme cohérente et exploitable.
Dans les faits, les données alimentant l'Entrepôt de données sont hétérogènes, issues de différentes
applications de production, voire de fichiers dits "plats" (fichiers Excel, fichiers texte, XML...). Il
s’agit alors de les intégrer, de les homogénéiser et de leur donner un sens unique compréhensible
par tous les utilisateurs. La transversalité recherchée sera d’autant plus efficace que le système
d’information sera réellement intégré dans sa globalité
La problématique de l'intégration repose sur la standardisation de données internes à l'entreprise,
mais aussi des données externes (provenant par exemple de clients ou de fournisseurs).
Ce n’est qu’au prix d’une intégration poussée que l’on peut offrir une vision homogène et
véritablement transverse de l’entreprise. Ceci suppose que le système d’information de l’entreprise
en amont soit bien structuré, bien maîtrisé, et bénéficie déjà d’un niveau d’intégration suffisant. Si
tel n'est pas le cas, la mauvaise qualité des données peut empêcher la mise en œuvre de l'entrepôt de
données.
P a g e 4 | 24
1.2 Importance de l’intégration de données
Il est possible qu'une entreprise reçoive toutes les données dont elle a besoin, mais ces
données sont généralement dispersées dans différentes sources. Par exemple, pour le cas d'usage
d'une vue client à 360°, les données qui doivent être combinées peuvent provenir des sources
suivantes : système CRM, trafic Web, logiciels utilisés pour les opérations marketing, applications
orientées client, systèmes de vente et de succès des clients, partenaires (liste non exhaustive !). Les
données provenant de ces différentes sources doivent souvent être rassemblées pour des besoins
analytiques ou opérationnels, et il sera parfois difficile pour les ingénieurs de données ou les
développeurs de les rassembler efficacement.
Examinons un cas d'usage pour besoins d'analyse. En l'absence de données unifiées, la génération
d'un rapport nécessite une analyse, qui implique elle-même de nombreuses opérations : connexion à
plusieurs comptes (souvent sur plusieurs sites), recherche des données dans leurs applications
natives, copie des données requises, reformatage et nettoyage de ces données.
Pour exécuter cette séquence d'opérations avec le maximum d'efficacité, il est impératif de
s'appuyer sur des pratiques d'intégration des données clairement définies et appliquées. Ce cas
d'usage présente également les principaux avantages d'une approche d'intégration des données bien
pensée :
Les employés de tous les départements, qui se trouvent parfois dans des lieux physiques
distants, ont de plus en plus besoin d'accéder aux données de l'entreprise pour des projets
individuels ou partagés. Pour leur faciliter la tâche, le département IT doit définir une solution
sécurisée pour proposer un accès en libre-service aux données à tous les départements.
Dans la plupart des départements, les employés génèrent, améliorent et enrichissent des données
dont le reste de l'entreprise pourrait profiter. L'intégration des données doit donc être une démarche
unifiée et collaborative.
Lorsqu'une entreprise prend des initiatives pour l'intégration correcte de ses données, elle
réduit considérablement le temps nécessaire à leur préparation et leur analyse. L'automatisation des
vues unifiées élimine les tâches manuelles de collecte des données, et les employés n'ont plus
besoin d'établir des relations de A à Z lorsqu'ils ont besoin de générer un rapport ou de créer une
application.
P a g e 5 | 24
Par ailleurs, l'utilisation d'outils adaptés à la place du codage manuel fait gagner encore plus de
temps à l'équipe de développement (et permet généralement d'économiser des ressources).
Le temps gagné sur ces tâches manuelles peut être utilisé à d'autres fins, par exemple en consacrant
plus d'heures à l'analyse et l'exécution pour rendre l'entreprise plus productive et plus compétitive.
La gestion des ressources de données d'une entreprise exige un certain nombre de tâches.
Pour rassembler les données manuellement et s'assurer que leurs datasets seront complets et précis,
les employés doivent connaître tous les emplacements et tous les comptes qu'ils pourraient avoir à
explorer – et installer tous les logiciels nécessaires avant de lancer leurs recherches. Si un référentiel
de données est ajouté et que tel ou tel employé n'en a pas été informé, son dataset sera incomplet.
En l'absence d'une solution d'intégration qui synchronise les données, les rapports doivent être
révisés périodiquement pour tenir compte des changements récents. Avec les mises à jour
automatisées des outils d'intégration, les rapports peuvent être générés plus facilement, en temps
réel et au moment précis où les utilisateurs en ont besoin.
Sur la durée, les efforts d'intégration de données apportent un avantage complémentaire : ils
améliorent la valeur des données de l'entreprise. L'intégration de données dans un système
centralisé permet de cerner les problèmes de qualité et d'effectuer les améliorations nécessaires, ce
qui permet d'obtenir des données plus précises, ce qui est le fondement même des analyses de
qualité.
Cette approche est beaucoup plus utiliser pour relier un entrepôt existant avec des données
de sources spécifiques.
P a g e 6 | 24
Caractéristiques:
Fournit une vue unifiée des données de l'entreprise, où les sources de données forment une
fédération;
Les sources de données dispersées sont consolidées à l'aide d'une BD virtuelle, de manière
transparente aux applications utilisant ces données;
Toute requête à la BD virtuelle est décomposée en sous-requêtes aux sources respectives,
dont les réponses sont assemblées en un résultat unifié et consolidé;
Permet de consolider uniquement les données utilisées, au moment où elles sont utilisées
(source data pulling).
Le traitement en ligne des données peut cependant entraîner des délais importants.
Avantages :
Accès relationnel à des sources non-relationnelles;
Permet d’explorer les données avec la création du modèle de l’entrepôt de données;
Accélère le déploiement de la solution;
Peut être réutilisé par le système ETL dans une itération future;
Aucun déplacement de données.
Inconvénients:
Requiert la correspondance des clés d’une source à l’autre;
Consolidation des données plus complexe que dans l’ETL;
Surtaxe les systèmes sources;
Plus limité que l’ETL dans la quantité de données pouvant être traitée;
Transformations limitées sur les données;
Peut consommer une grande bande passante du réseau.
P a g e 7 | 24
1.3.2 Enterprise Application Integration (EAI)
Caractéristiques
permet de fournir à l'entrepôt des données provenant des sources ;
Repose sur l'intégration et le partage des fonctionnalités des applications sources ;
Généralement utilisé en temps réel ou en semi temps réel (Near Real Time).
Avantages
Facilite l’interopérabilité des applications;
Permet l’accès en (quasi) temps-réel;
Ne transfère que les données nécessaires;
Inconvénients
Taille des transactions limitée ;
Développement complexe;
Support limité aux transformations et agrégations des données.
Exemple d’Outils EAI:IBM WebSphere Message Broker; Microsoft BizTalk Server; Oracle SOA
Suite.
Cette approche est surtout utilisée avec les entrepôts de données et les comptoirs de données.
ETL est caractérisé par :
P a g e 8 | 24
la consolidation des données à l’aide des trois opérations suivantes: extraction,
transformation et chargement ;
un Traitement de grande quantité de données en lots cédulés;
L’ETL est un outil utilisé pour alimenter un data warehouse. Il est composé de 3 processus :
le processus extraction, le processus transformation et le processus chargement. Le processus
d’extraction est le premier processus mais avant de le réaliser, il faut d’abord identifier les sources
des donnes à utiliser.
Le processus extraction
L’extraction des données sources est la première étape d’un outil d’alimentation ETL. Une
fois les données identifiées il faut les extraire. Il existe deux types d’extractions de données :
extraction complète et l’extraction incrémentale.
Extraction complète
On capture l'ensemble des données à un certain instant. Cette extraction est normalement
employée dans les deux situations suivantes :
Lors d’un chargement initial des donnes,
lors d’un rafraichissement complet des données.
Comme conséquence, elle peut être très couteuse en temps (par exemple plusieurs heures ou jours).
Extraction incrémentale
On Capture uniquement les données qui ont changées ou ont été ajoutées depuis la dernière
extraction. Elle peut se faire de deux façons : extraction temps-réel et extraction différée.
P a g e 9 | 24
Extraction en temps-réels
Elle s’effectue au moment où les transactions surviennent dans les systèmes sources. Par
exemple à l'aide de triggers qui sont des procédures définies dans la BD pour recopier les données à
extraire dans un fichier.
Extraction différée
On Extrait tous les changements survenus durant une période donnée (par exemple heure,
jour, semaine, mois).On peut se baser sur les timestamps. Un timestamp d'écriture est ajoutée à
chaque ligne des systèmes sources ; L'extraction se fait uniquement sur les données dont le
timestamp est plus récent que la dernière extraction. On peut aussi se baser sur la comparaison de
fichiers : on compare deux snapshots (captures) successifs des données sources; on extrait
seulement les différences (ajouts, modifications, suppressions) entre les deux snapshots. Comme
conséquences, elle Exige de conserver une copie de l'état des données sources. Cette approche est
relativement couteuse.
Le processus de transformation
Le processus de chargement
Le chargement consiste à insérer ou mettre à jour les données cibles tout en conservant les
données modifiées, afin de conserver une traçabilité des informations. Les informations stockées
dans un entrepôt de données ne doivent jamais disparaitre dans la mesure du possible. Cette étape
P a g e 10 | 24
peut être complexe : il faut ajouter les nouvelles lignes, détecté si des lignes ont été modifiées ou
supprimées ; il faut notifier ces modifications et veiller à ne pas charger des données en double .Il
existe 3 types de chargement :
Le chargement initial
Il se fait une seule fois lors de l’activation de l’entrepôt et peut prendre plusieurs heures.
Le chargement incrémental
Ce chargement se fait une fois le chargement initial complété et peut être fait en temps-réel
ou en différé.
Rafraichissement complet
Il est employé lorsque le nombre de changements rend le chargement incrémental trop
complexe.
P a g e 11 | 24
2 Pentaho data intégration
2.1 Qu'est-ce que Pentaho ?
Pentaho est une entreprise qui propose une suite de logiciels regroupés sous le nom de
Pentaho Business Analytics. Elle fut fondée en 2004 et est basée à Orlando, aux Etats-Unis. Pentaho
Business Analytics est une plate-forme décisionnelle qui offre, au travers de divers outils, une
couverture globale des fonctionnalités de la Business Intelligence :
Reporting
Tableaux de bord
Analyse ad hoc
P a g e 12 | 24
2.1 Présentation de Pentaho Data Intégration
Pentaho Data Intégration (PDI) longtemps connu sur le nom de Kettle, est un logiciel ETL
libre développé en java qui permet de concevoir et d’exécuter les opérations de manipulation et de
transformation de données. Son principal intérêt est de récupérer diverses sources dans divers
formats, les transformer, et former un résultat puis finalement exporter dans le format souhaité vers
une destination souhaitée. Grace à un modèle graphique à base d’étapes, il est possible de créer sans
programmation des processus composée d’imports et d’export de données et différentes opérations
de transformations telles que conversions, application des filtres, jointures, etc. Pentaho dispose de
très nombreux connecteurs à la fois en lecture et en écriture lui permettant d’accéder à un grand
nombre de bases de données et a tout type de fichiers. L’ETL PDI est un moteur de transformations
qui effectue deux types de traitement : les transformations et les taches.
Une transformation est un réseau de taches logiques appelées étapes. Les noms des fichiers de
transformations ont une extension .ktr (kettle transformation). Les étapes sont des blocs de
constructions d’une transformation, par exemple une entrée de fichier texte, ou une sortie sur table.
Il y’a plus de 140 étapes disponibles dans Pentaho et sont regroupées par fonctions (entrée, sortie,
scripts, etc.).
Une tache dont l’objectif est d’exécuter la transformation, de renvoyer un message d’erreur et de
vérifier que le fichier de sortie est bien crée. Elle est enregistrée sous l’extension .kjb (kettle job).
Ce PDI est aussi composé de quatre modules que nous allons décrire dans le titre suivant.
P a g e 13 | 24
2.1.1.1 Le module Spoon
Spoon est l’outil qui permet grâce à son interface graphique de créer des transformations, les
exécuter et les sauvegarder. Les composants permettant la manipulation des données sont nommés «
étapes» (steps en anglais). Par exemple il existe une étape permettant d’extraire des données de
diverses bases de données, un autre aidant à l’extraction depuis des fichiers. SPOON comprend un
grand nombre d’étapes. Grâce à SPOON, vous pourrez donc créer vos transformations, les tester et
les sauvegarder soit dans un fichier, soit dans un référentiel d’une base de données que vous aurez
préalablement crée.
PAN permet d’exécuter les transformations dans Spoon en ligne de commande. Il va nous
permettre de pouvoir automatiser l’exécution de nos transformations à des horaires de notre choix
sans ouvrir le logiciel grâce par exemple au planificateur de Microsoft Windows ou un Cron dans
l’environnement Unix
Il est en fait le serveur web qui permet d’exécuter les tâches et les transformations à
distance. Pour cela il prend en compte un fichier XML qui contient la transformation ou la tâche à
exécuter et la configuration d’execution.il permet aussi de contrôler à distance, démarrer ou arrêter
les processus en cours sur le serveur.
2.1.2. Installation
Avant d’utiliser Pentaho, vous devrez disposer d’une machine virtuelle (jdk) installée sur
votre machine une version supérieure à 1 .4 . Si vous ne l’aviez suivez le lien suivant pour la
télécharger et l’installer http://www.javasoft.com. Une fois cette étape terminée, il nous faut
télécharger le fichier zippé de Pentaho disponible sur le site http://www.pentaho.com/download.
Dans notre cas nous allons utiliser une version stable, la version 4.4.0. Apres avoir récupérer le
fameux fichier compressé on le décompresse dans le répertoire de notre choix. Puis on ouvre le
dossier data-intégration dont l’arborescence se présente comme suit :
P a g e 14 | 24
Sur l’arborescence du dossier de PDI, nous avons surligné 2 fichiers qui sont le spoon.sh et le
spoon.bat.
Ce sont ces fichiers qui mous permettrons de démarrer l’environnement graphique de PDI.
Sous Windows, il nous suffit de double cliquer sur Spoon.bat pour voir le logiciel être
démarrer.
Sous Linux, Nous devons nous rassurer que le fichier spoon.sh a le droit d’exécution, si ce
n’est pas déjà le cas, exécutons la commande : chmod a+x spoon.sh. Une fois cette étape
réalisée, nous pouvons désormais lancer le logiciel en tapant la commande ./spoon.sh (ces 2
commandes ont étés données avec comme pour prérequis que nous nous trouvons dans le
répertoire de PDI)
P a g e 15 | 24
3 Cas pratiques
Enoncé
Supposons que vous travaillez chez un commissaire de transport. Vous recevez les
commandes de la part de vos clients et votre rôle est d’attribuer ces commandes à des transporteurs.
Un nouveau logiciel a été implanté dans la société pour suivre les commandes en temps réel et on
souhaite donc pouvoir comparer les horaires de chargement et de livraison demandés par le client et
les horaires réels obtenus grâce au nouveau logiciel. Ceci permettra d'évaluer les différents retards
au niveau des usines (retard pour la préparation de la commande par exemple) mais également ceux
qui concernent le transporteur (retard à la livraison par exemple).
Vous avez deux fichiers à disposition :
Solution
Dans cet exemple, l’extraction des données va consister à récupérer les différentes données
depuis leurs sources. Pour la transformation, nous allons faire des tris sur les lignes pour enlever les
P a g e 16 | 24
doublons de chaque fichier et ensuite faire une jointure pour réunir tous nos fichiers. Le chargement
va consister à insérer les informations dans un fichier Excel.
Pour réaliser les opérations décrites précédemment, nous créons un nouveau projet de
transformation. Pour cela allez dans la barre de navigation cliquer sur file > new >transformation.
Puis on peut l’enregistrer dans un répertoire de notre choix. Nous l’avons enregistré sous le nom
transformation1.ktr. La fenêtre principale prend un nouvel aspect :
Extraction
Pour chacun de nos fichiers CSV, nous allons suivre les étapes suivantes :
Aller dans l'onglet Palette de création, elle est située a la gauche de l’interface (rouge sur la
figure précédente).
Déroulez sur le dossier Extraction
Faites un Glisser-déposer de Extraction depuis fichier CSV vers la zone de création (bleu
sur la figure précédente).
P a g e 17 | 24
Configurer chaque étape :
Double-cliquer sur l'étape ;
Indiquer un nom d'étape (orders ou realtime pour nos fichiers) ;
Importer le fichier en cliquant sur Parcourir ;
Fixer les séparateurs de champs à ‘ ;’ (point-virgule)
Cliquer sur Récupérer Champs pour vérifier l’intégrité du fichier. L’outil reconnaît
automatiquement le type de chaque colonne.
Cliquer sur OK.
Une fois nos fichiers chargés par l’outil nous allons faire des tris sur des lignes, il faut noter que ces
tris sont indispensables si on veut faire une jointure. Pour commencer nous allons créer deux étapes
de tris en suivant la procédure suivante :
Insérer deux étapes dans la palette de création, de rouler le dossier Transformation ;
Faites un Glisser-déposer de Tri lignes vers la zone de création ;
Relier chaque étape d'extraction avec une étape de tri en maintenant Shift enfoncée tout en
glissant de l’étape d’extraction vers l’étape tri de destination qu’on vient de créer ;
Une fois que la flèche aura touché la destination, une petite fenêtre s’ouvre choisir Sortie
principale de l'étape (option une) ;
Configurer le tri pour qu'il se fasse sur le champ OrderNumber. Cette configuration est faite
comme suit :
P a g e 18 | 24
Pour chaque étape de tri, suivre la procédure suivante :
Double-cliquer sur l'élément puis renseigner le champ nom ;
Cliquer sur Récupérer champs ;
Mettre Ascendant à N (non) pour tous les champs sauf OrderNumber
Nous allons maintenant passer à la jointure de nos deux étapes (tri ligne1 et tri ligne2). Pour cela
suivons la procédure suivante :
Dérouler le dossier Jointure lignes
Faites un Glisser-déposer de Jointure comparaison vers la zone de création ;
Relier les deux étapes de tri à cette étape de jointure ;
Configurer la jointure sur le champ OrderNumber, comme ceci :
o Double-cliquer sur l'étape et une fenêtre s’ouvrira ;
o Dans Première étape sélectionner le tri correspondant au fichier Orders et
sélectionner le second tri pour Seconde étape ;
Fixer Type Jointure à Left Outer ;
Récupérer les champs clés pour les deux étapes ;
Ne conserver que le champ OrderNumber dans les deux cas et effacer les autres champs ;
Cliquer sur OK.
P a g e 19 | 24
Maintenant nous allons supprimer la colonne OrderNumber_1 de votre flux de données :
Dérouler le dossier Transformation
Faites un Glisser-déposer de Altération structure de flux vers la zone de création ;
Relier la dernière étape avec la nouvelle ;
Configurer l'élément :
Chargement
P a g e 20 | 24
Pour démarrer l’exécution, nous n’avons qu’à cliquer sur le bouton Play juste en bas de l’onglet de
notre transformation. Ce qui aura comme résultat de nous fournir la liste des chargements et des
livraisons demandés par le client qui n’ont pas vus leurs délais respectés. Ce résultat va être mis
dans le fichier Excel que nous avons spécifié plus haut. A la fin de l’exécution, nous avons la
fenêtre suivante.
En ce qui concerne la tache nous allons un peu procéder comme dans l’étape création d’une
transformation. Nous allons créer une tache comme suit :
Fichier > Nouveau > Tâche ;
Enregistrer la tâche que nous venons de créer ;
Puis ajouter les étapes en suivant la procédure suivante :
Dans l'onglet palette de création :
Général -> Start ;
Général -> Exécution Transformation ;
Évaluation -> vérification existence fichier
Insérer deux éléments Divers > Mise en échec tâche.
Et enfin relions les étapes comme le montre la figure suivante :
P a g e 21 | 24
Remarque : Les liens n'ont pas tous la même couleur :
Un lien bleu avec un cadenas indique que l'élément suivant sera toujours exécuté.
Un lien rouge indique que l'élément suivant ne sera exécuté que s'il y a eu une erreur dans
l'exécution de l'élément précédent.
Un lien vert indique que l'élément suivant ne sera exécuté que si l'élément précédent s'est
terminé avec succès.
On veut mettre la tâche en échec dans le cas où la transformation échoue d'une part mais également
lorsque le fichier généré par la transformation n'existe pas.
Pour l’exécution, le procédé est le même que celui décrit pour les transformations.
P a g e 22 | 24
CONCLUSION
Parvenue au terme de notre exposé, il en ressort que l’intégration de données est l’étape la
plus cruciale dans un projet décisionnel. Il existe plusieurs approches .EII, EAI, ETL. L’approche
ETL se fait en trois étapes : l’extraction, la transformation et le chargement Il existe plusieurs outils
d’intégration nous avons utilisés PENTAHO DATA INTEGRATION qui est un logiciel libre avec
une interface graphique qui permet facile son utilisation.
P a g e 23 | 24
BIBLIOGRAPHIE
https://stph.scenari-community.org/contribs/dwh/PentahoDI/co/ex01.html
Morgane Becret, Stéphane Crozat, 2014-2015
https://business-intelligence.developpez.com/tutoriels/presentation-pentaho/
Publié le 1er mars 2012 - Mis à jour le 16 avril 2012
https://wiki.pentaho.com/display/EAI/Pentaho+Data+Integration+%28Kettle%29+Tutorial
Créée par Doug Moran, dernière modification par Chantel Brathwaite le déc. 11, 2015
https://help.pentaho.com/Documentation/8.1
P a g e 24 | 24