Documente Academic
Documente Profesional
Documente Cultură
RACHID ADOUL
UNIVERSIT DE TECHNOLOGIE DE COMPIGNE
lication:
Prrequis......................................................................................................................3
Cration du rfrentiel matre.......................................................................................5
Cration du rfrentiel de travail................................................................................12
Cration dun processus ETL avec Oracle Data Integrator........................................15
2013 - 2014
Introduction
Ce document a t ralis dans le cadre dune formation dIngnieur par apprentissage
lUniversit de Technologie de Compigne. Lobjectif de cette publication est de prsenter une
application de loutil Oracle Data Integrator.
Oracle Data Integrator est une plateforme complte dintgration de donnes qui couvre de
multiples besoins dintgration exprims par les entreprises. Cest un outil dETL (Extract, Transform
and Load) pour Data Warehouse qui permet notamment deffectuer des transformations partir de
sources multiples (structurs ou non) vers des cibles htrognes.
ODI offre la possibilit de faire des chargements en masse avec une performance leve de
Data Warehouses, de Datamarts, de cubes et dapplications analytiques. De plus, il traite facilement
les chargements incrmentiels, la gestion des dimensions volution lente, lintgrit et la cohrence
des donnes ainsi que lanalyse dimpact.
Lune des particularits de cet outil est son style dETL innovant. En effet, Oracle Data
Integrator utilise une architecture nouvelle gnration : lE-LT (Extract, Load and Transform). Cette
architecture permet de raliser des transformations en utilisant les moteurs de SGBDR, avec une
efficacit et une performance trs importante. Les spcificits des bases de donnes sont ainsi
pleinement exploites. En outre, un serveur spar et conventionnel nest plus ncessaire, ce qui
permet de raliser un gain financier considrable.
Cette publication a pour objectif de prsenter un tutoriel pour raliser un processus ETL avec
Oracle Data Integrator. Elle se compose de trois parties. Dans un premier temps, nous verrons
comment crer le rfrentiel matre sur ODI, ensuite nous implmenterons un rfrentiel de travail.
Enfin, nous raliserons un processus ETL avec une dimension reprsentant des clients.
2013 - 2014
Prrequis
1. Installer Java JDK.
Voici un lien pour installer Java JDK :
http://www.oracle.com/technetwork/java/javase/downloads/index.html
2. Installer Oracle Database (11g ou autre version).
Voici un lien pour installer Oracle Database :
http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html
Pour installer Oracle, il vous suffit de dzipper dans un dossier les fichiers tlchargs et de
lancer le fichier database/setup.exe .
3. Installer Oracle Data Integrator (11gR1 ou autre version).
Voici un lien pour installer Oracle Data Integrator :
http://www.oracle.com/technetwork/middleware/data-integrator/downloads/index.html
Pour installer Oracle Data Integrator il vous suffit e dzipper les deux fichiers tlchargs
dans un mme dossier et de lancer le fichier Disk1/setup.exe .
Remarque : Ignorer linstallation du rfrentiel durant linstallation dOracle Data Integrator.
4. Vrifier que les services dOracle sont bien dmarrs sur votre machine.
Pour vrifier cela, vous pouvez taper Services.msc dans la barre de recherche du menu Dmarrer
de Windows et vrifier que les services Oracle sont bien dmarrs.
2013 - 2014
5. Dbloquer lutilisateur SYSTEM dOracle et modifier son mot de passe afin dtre capable de
sy connecter pour crer de nouveaux schmas.
Il vous suffit douvrir SQLPLUS, de vous connecter en tant que sysdba, et de modifier le mot de
passe. Pour cela, ouvrez linvite de commandes et entrez les commandes suivantes:
sqlplus /nolog
connect / as sysdba
alter user SYSTEM account UNLOCK;
alter user SYSTEM identified by oracle1;
Remarque : Le mot de passe de lutilisateur SYSTEM par dfaut devrait correspondre au mot de
passe que vous avez entrez lors de linstallation dOracle database. Si vous le connaissez, vous
naurez qu dbloquer lutilisateur.
6. Vrifier que vous avez le dossier ODI_Sources de la publication.
2013 - 2014
2. Crer un nouveau schma/utilisateur avec les droits connect et resource pour le rfrentiel
matre que lon va crer dans Oracle Data Integrator. Utiliser la connexion ADMIN cr juste
avant pour le faire.
2013 - 2014
Figure 5: Cration du schma snpw1 (pour le rfrentiel matre) sur SQL Developer
2013 - 2014
3. Lancer Oracle Data Integrator via le menu Dmarrer de Windows et crer un nouveau
rfrentiel.
2013 - 2014
2013 - 2014
2013 - 2014
"
Figure 13: Test de cration d'une nouvelle connexion
2013 - 2014
10
Nous venons de crer le rfrentiel matre. Afin de travailler sur Oracle Data Integrator, il va
maintenant falloir crer un rfrentiel de travail.
2013 - 2014
11
2013 - 2014
12
Cliquez sur Suivant > et indiquez les proprits du rfrentiel comme cela :
2013 - 2014
13
Une fentre vous proposera alors de crer une connexion (login) pour le rfrentiel venant dtre
cre. Cliquez sur Oui et entrez le login WORKREP1.
2013 - 2014
14
2013 - 2014
15
2013 - 2014
16
2013 - 2014
17
Figure 31: Cration d'un nouveau schma physique pour le serveur FILE_GENERIC
2013 - 2014
18
Figure 32: Cration d'un nouveau schma physique pour le serveur FILE_GENERIC
Figure 33: Cration d'un nouveau schma logique pour larchitecture FILE_GENERIC
2013 - 2014
19
Retourner dans le schma physique FILE_GENERIC que lon a cr et vrifier que le schma
logique est bien dfini pour le contexte Global .
b. Architecture Oracle
Dans la section Architecture physique , crer un nouveau serveur de donnes pour larchitecture
Oracle avec le nom ODI_STAGE.
2013 - 2014
20
Figure 37: Fentre de cration d'un nouveau serveur de donnes (onglet JDBC)
Figure 38: Cration d'un nouveau schma physique pour le serveur ODI_STAGE
2013 - 2014
21
Figure 39: Fentre de cration d'un nouveau schma physique pour le serveur ODI_STAGE
Faites de mme avec ODI_STAGE_SRC en utilisant les paramtres correspondant dans longlet
JDBC du serveur de donnes ODI_STAGE_SRC.
Ensuite nous allons crer les architectures logiques correspondantes.
Pour cela allez dans la section Architecture logique , crer un nouveau schma logique pour
Oracle et nommez le ODI_STAGE.
Figure 40: Cration d'un nouveau schma logique pour le serveur ODI_STAGE
5.
2013 - 2014
22
Crer un modle Flat_file_1 pour le dossier Files et remplir les paramtres suivants :
2013 - 2014
23
2013 - 2014
24
2013 - 2014
25
2013 - 2014
26
Figure 49: Arborescence des modles Oracle avec les datastores gnrs
a.
2013 - 2014
27
2013 - 2014
28
Puis, cliquez sur longlet Fichiers , slectionner le type de fichier Dlimit avec le caractre ;,
entrez le chiffre 1 dans le champ En-tte .
Les colonnes sont alors automatiquement dfinies (type, taille, nom). Vous pouvez alors visualiser les
donnes :
2013 - 2014
29
ii.
2013 - 2014
30
Dans longlet Fichier , Slectionnez le format Fixe et un nombre de ligne den-tte gal 0.
2013 - 2014
31
Une fentre souvre alors en vous prsentant un aperu de votre fichier. Il faut maintenant dfinir les
colonnes en effectuant un clic chaque dbut de colonne. Une fois les dbuts de colonnes identifis,
vous devez dfinir le type de donnes de chaque colonne en cliquant sur chacune dentre-elles.
2013 - 2014
32
Cest dans cette partie que lon va modliser le processus ETL via linterface dODI.
Commencez par crer une Nouvelle interface au projet et entrez les paramtres suivants :
Puis, cliquez sur longlet Mapping . Longlet Mapping est le principal onglet dune interface il
permet de dfinir les objets sources, cibles et les rgles de transformation.
Le principe est de Mapper les champs sources et ceux de la cible. Longlet Mapping est divis
horizontalement en deux partie. A gauche vous devez faire un Drag and Drop de vos sources en
2013 - 2014
33
autorisant le Mapping automatique lorsquODI vous le proposera. La partie droite quant elle
contient la table cible (TRG_CUSTOMER dans notre cas). Faites de la mme manire un Drag and
Drop du datastore TRG_CUSTOMER.
Nous allons maintenant crer une table de lookup afin de faire le mapping entre lge dun client et la
catgorie correspondante (table SRC_AGE_GROUP). Cliquez sur Ajouter un nouveau lookup .
2013 - 2014
34
Si vous cliquez sur licne reprsentant un crayon vous pourrez dfinir la condition en effectuant des
Drag and Drop des colonnes utilises.
35
Il faut dfinir pour chaque colonne de la table source les proprits de mapping souhaites. Pour
cela, il suffit de cliquer sur une colonne (dans la table cible de la partie droite) et de modifier ces
proprits.
2013 - 2014
36
2013 - 2014
37
2013 - 2014
38
2013 - 2014
39
Vous pouvez maintenant visualiser les flux de donnes en cliquant sur longlet Flux .
2013 - 2014
40
Vous pouvez vrifier que les modules de connaissances utiliss sont justes en cliquant sur les objets
sources et en regardant la valeur du champ Slecteur LKM en bas droite de linterface.
2013 - 2014
41
Longlet Contrle permet dactiver/de dsactiver les contraintes vrifier durant lintgration des
donnes.
42
Vous pouvez galement voir lexcution de linterface dans longlet Oprateur dODI. Il rassemble
toutes les excutions du rfrentiel.
2013 - 2014
43
Excutez maintenant linterface en cliquant ouvrant linterface et en cliquant sur le bouton vert
Play en haut gauche de linterface. Puis vrifier que le processus ETL sest bien excut sans
erreur grce longlet Oprateur .
2013 - 2014
44
Aprs lexcution de linterface vous pouvez trouver de nouvelles tables dans la zone cible qui
contiennent les lignes sources qui nont pas t intgres ( cause dune contrainte de check,
dintgrit rfrentielle, etc.).
c.
2013 - 2014
45
Vous pouvez aussi crer des scnarios pouvant sexcuter automatiquement (programmation de
scnarios). En voici un exemple qui permet de charger les tables TRG_CUSTOMER,
TRG_PRODUCT et TRG_SALES. Lors dune erreur un mail sera envoy automatiquement.
2013 - 2014
46
Conclusion
En somme Oracle Data Integrator est un outil dETL trs puissant qui offre de multiples
possibilits. Hormis son style dETL innovant il possde deux particularits qui font de lui un outil
remarquable : les modules de connaissances et son interface dclarative.
Les modules de connaissances sont des modles de gnration de code pour les multiples
systmes impliqus dans chaque processus. Ils sont la fois gnriques (indpendance par rapport
aux rgles de transformation) et spcialiss (optimisation pour chaque technologie).
De plus, linterface dclarative permet une meilleure productivit grce lintuitivit de la prise
en main (dveloppement en glisser/dplacer) et la simplification/acclration du processus
dintgration des donnes (gnration de code SQL adapt).
Nous avons vu comment raliser un processus ETL partir de sources de natures diffrentes
(fichier plat de format fixe, fichier plat de format dlimit et table sous Oracle) vers un serveur Oracle.
De la mme manire, vous tes maintenant libre de reproduire ce processus avec dautres sources
afin de charger un Data Warehouse complet.
2013 - 2014
47
48
Figure 31: Cration d'un nouveau schma physique pour le serveur FILE_GENERIC.......................18
Figure 32: Cration d'un nouveau schma physique pour le serveur FILE_GENERIC.......................19
Figure 33: Cration d'un nouveau schma logique pour larchitecture FILE_GENERIC.....................19
Figure 34: Onglet contexte d'un schma physique..............................................................................20
Figure 35: Cration d'un nouveau serveur de donnes pour ODI_STAGE..........................................20
Figure 36: Fentre de cration d'un nouveau serveur de donnes......................................................21
Figure 37: Fentre de cration d'un nouveau serveur de donnes (onglet JDBC)..............................21
Figure 38: Cration d'un nouveau schma physique pour le serveur ODI_STAGE.............................21
Figure 39: Fentre de cration d'un nouveau schma physique pour le serveur ODI_STAGE...........22
Figure 40: Cration d'un nouveau schma logique pour le serveur ODI_STAGE................................22
Figure 41: Cration d'un nouveau dossier de modles........................................................................23
Figure 42: Cration d'un nouveau modle...........................................................................................23
Figure 43: Fentre de cration du modle de fichiers.........................................................................24
Figure 44: Fentre de cration du modle de fichiers.........................................................................24
Figure 45: Fentre de cration du modle Oracle source....................................................................25
Figure 46: Fentre de cration du modle Oracle source....................................................................25
Figure 47: Fentre de cration du modle Oracle cibles.....................................................................26
Figure 48: Rtro-ingnierie des modles Oracle.................................................................................26
Figure 49: Arborescence des modles Oracle avec les datastores gnrs.......................................27
Figure 50: Cration du datastore du fichier SRC_AGE_GROUP........................................................28
Figure 51: Fentre de cration du datastore SRC_AGE_GROUP......................................................28
Figure 52: Fentre de cration du datastore SRC_AGE_GROUP (onglet Fichiers)............................29
Figure 53: Fentre de cration du datastore SRC_AGE_GROUP (onglet Colonnes).........................29
Figure 54: Visualisation des donnes d'un datastore..........................................................................30
Figure 55: Fentre de visualisation des donnes d'un datastore.........................................................30
Figure 56: Fentre de cration du datastore SRC_SALES_PERSON................................................31
Figure 57: Fentre de cration du datastore SRC_SALES_PERSON (onglet Fichiers)......................31
Figure 58: Fentre de cration du datastore SRC_SALES_PERSON (onglet Colonnes)...................32
Figure 59: Gnration des colonnes du datastore SRC_SALES_PERSON........................................32
Figure 60: Fentre de visualisation des donnes du datastore SRC_SALES_PERSON....................33
Figure 61: Cration d'une nouvelle interface.......................................................................................33
Figure 62: Fentre de cration de l'interface TRG_CUSTOMER........................................................34
2013 - 2014
49
2013 - 2014
50