40364699 tutoriel datastage px

20
G-FRIDO JUGO4715 1 Tutoriel DataStage PX/EE  Lien internet :  http://www.exl-infosfr.com/tutoriels/tutoriel-datastage-pxee/  Introduction Choses promises choses dues. Voici donc un tutoriel entièrement dédié à  DataStage  PX  et en Français s’il vous plait !  Ce tutoriel est construit dans la perspective où vous connaissez déjà  DataStage server … s i ce n’est pas le cas je vous suggère de commencer par le  t utoriel  DataStage Serve r. Note p our l e s déve loppeurs DataStage Server Développer avec DataStage  PX  n’a rien à voir avec le développement sous DataStage Server … et ce malgré les troublantes ressemblances des deux moteurs ! en fait j’ai envie de dire que mis à part les environnements (clients lourds) de développement et bien les similitudes s’arrêtent là. Ok le designer est le même, la façon de développer est la même (approche Top- Down, etc.), on retrouve le Director, l’Administrator la console d’admini stratio n … m a is voilà ça s’arrête là … o u p resq u e ! Croire qu’un développeur Server deviendra un bon développeur  PX  suite à une simple formation reste une hérésie car même si les moteurs Server et PX sont bien cachés derrière les applications clientes identiques, ils n’en restent pas moins f on dame nta l e ment d ifférents .  Abor der DataStage PX n écessite donc:  l’appr éhens i on de n ouvelles notions vital es co mme le parallé lisme, le  partitionnement , la prise en compte prépondérante des ressources machine (nombre de serveur,  processeu r, RAM, I/O, etc.)  La découverte d’un autre moteur écrit en C/C++ (si vous faites vous même l’in sta llation vous décrouvrirez alors qu’il vous f aut un com pilate u r C/C++)   La découverte d’une  palette de nombreux stages supplémentaires, l’abandon d’autres stages (server) et puis surtout la différence de comportement de certains stages entre Server et PX : je veux bien sur parler du Transformer !  et donc par corollaire, une façon de développer différente, vous verrez le nombre de stages dans le canevas  v a augmenter considérablement par rapport à DataSta g e Server

Upload: mohsine-elhadef

Post on 18-Oct-2015

421 views

Category:

Documents


56 download

TRANSCRIPT

  • G-FRIDO JUGO4715

    1

    Tutoriel DataStage PX/EE Lien internet : http://www.exl-infosfr.com/tutoriels/tutoriel-datastage-pxee/

    Introduction

    Choses promises choses dues. Voici donc un tutoriel entirement ddi DataStage PX et en

    Franais sil vous plait !

    Ce tutoriel est construit dans la perspective o vous connaissez dj DataStage server si ce nest pas le cas je vous suggre de commencer par le tutoriel DataStage Server.

    Note pour les dveloppeurs DataStage Server

    Dvelopper avec DataStage PX na rien voir avec le dveloppement sous DataStage Server et ce malgr les

    troublantes ressemblances des deux moteurs ! en fait jai envie de dire que mis part les environnements (clients lourds) de

    dveloppement et bien les similitudes sarrtent l. Ok le designer est le mme, la faon de dvelopper est la mme (approche Top-Down, etc.), on retrouve le Director, lAdministrator la console

    dadministration mais voil a sarrte l ou presque !

    Croire quun dveloppeur Server deviendra un bon dveloppeur PX suite une simple formation reste une hrsie car

    mme si les moteurs Server et PX sont bien cachs derrire les applications clientes identiques, ils nen restent pas moins

    fondamentalement diffrents.

    Aborder DataStage PX ncessite donc:

    lapprhension de nouvelles notions vitales comme le paralllisme, le partitionnement,

    la prise en compte prpondrante des ressources machine (nombre de serveur, processeur, RAM, I/O, etc.)

    La dcouverte dun autre moteur crit en C/C++ (si vous faites vous mme

    linstallation vous dcrouvrirez alors quil vous faut un compilateur C/C++) La dcouverte dune palette de nombreux stages supplmentaires, labandon dautres

    stages (server) et puis surtout la diffrence de comportement de certains stages entre Server et PX : je veux bien sur parler du Transformer !

    et donc par corollaire, une faon de dvelopper diffrente, vous verrez le nombre de

    stages dans le canevas va augmenter considrablement par rapport DataStage Server

  • G-FRIDO JUGO4715

    2

    Bref, si vous tes un dveloppeur DataStage Server ? et bien vous allez devoir apprendre

    dvelopper avec un autre ETL : DataStage PX et vous allez vite vous rendre compte que cest bien diffrent !

    Nanmoins et malgr ces diffrences il est possible dutiliser des objets communs aux deux :

    par exemple on pourra utiliser des job sequence pour lancer des jobs server et/ou parallel. Maintenant le lien entre les deux serveurs sarrte ici, ne comptez pas par exemple rutilis er

    des fichiers Hash dans vos jobs Parallel/PX ou vos Datasets dans vos jobs server car malheureusement au sein des jobs Server ou PX la frontire est tanche !

    Table des matires

    Le paralllisme La palette des jobs Parallel Ae pas de debug ! comment faire ?

    Un premier job facile Un second job plus complexe

  • G-FRIDO JUGO4715

    3

    Le paralllisme avec DataStage PX

    Outre le fonctionnement en mode pipelining (traitement dun flux dintgration de donnes au fil de leau) DataStage PX est extrmement

    performant grce sa gestion du partitionnement des donnes (au travers du

    framework Orchestrate).

    Pourquoi partitionner, et puis dabord quentend-on par partitionnement ?

    Et bien lide du partitionnement est toute simple : dcomposer les donnes pour les traiter en

    parallle et en simultan par plusieurs units de traitements. Concrtement, si on prend lexemple

    dun dictionnaire et de 4 units de traitements (Cf. image gauche) lide va tre de crer 4 jeux de donnes partir du jeu complet et de dlguer

    quatre units de traitements qui pourront tre des serveurs distincts ou des processeurs les

    transformations.

    Ainsi les Quatre sous traitements pourront tre effectus en parallle, amliorant ainsi considrablement les performances et optimisant

    lutilisation des ressources machine.

    Une ide sduisante mais si la thorie parait simpliste : la ralit est tout autre. Car dcomposer les donnes cest bien mais cela nous amne nous poser dautres questions comme :

    Comment vais-je dcomposer mes donnes ?

    Ma dcomposition conviendra-t-elle pour tout mon flux ? si non comment vais-je d-partitionner et repartitionner ?

    Aurais-je besoin de toutes mes donnes dans un sous-traitement de mon flux ? etc.

    Bref, Dire que DataStage va grer automatiquement vos partitionnements serait une erreur de dbutant certes vous constaterez quil existe un mode de partitionnement Auto : mais cela

    ne signifie pas quil faut faire confiance ce qui va se passer derrire ou attention aux surprises. Le partitionnement nest pas un lment quil faut prendre la lgre cela se

    pense lors de la conception du flux sans quoi vous pourriez avoir de grosses surprises en terme de performances ou pire en terme dexactitude de vos traitements. Une erreur de dbutant consiste en effet dvelopper avec un seul nud

  • G-FRIDO JUGO4715

    4

    Partitionnement et repartitionnement

    la vole

    Partitionner cest bien mais cela peut ne pas convenir pour tout notre flux dintgration. En effet imaginons que pour effectuer lintgration de donnes clients nous ayons besoin de faire

    des calculs bass sur le nom de famille en premier lieu, puis que des agrgats sur le code postal seront ncessaire, pour enfin calculer un encours de carte de crdit

    Les calculs raliss sont bass sur des regroupements logique de donnes, or si nous avons

    partitionn en amont cela signifie que nous avons regroup : faire un regroupement par code postal sur un jeu de donnes qui lui mme est rduit aux noms de famille na donc aucun sens et mon rsultat sera faux ! Voici donc une problmatique classique du partitionnement

    Heureusement DataStage y rpond automatiquement grce au repartitionnement la vole :

    Dans le schma ci-dessus on voit bien comment entre chaque sous-traitement DataStage PX va casser le partitionnement effectu et repartitionner avec la nouvelle cl de partitionnement les donnes. Attention nanmoins ne pas abuser de cette fonctionnalit et

    ainsi de grouper logiquement vos sous-traitement pour viter les oprations de tris sous-jacente et donc coteuses en performance.

    Les fichiers de configuration

    DataStage PX (ou EE) utilise un fichier de configuration afin de grer les traitements parallles et ainsi de rpartir sur diffrentes partitions logiques et physiques ses traite ments. Ce dernier est totalement indpendant des dveloppements et est utilis directement par le

    moteur afin de traiter les phases de partitionnement, collecte et repartitionnement sur plusieurs nuds.

    Ce fichier peut tre chang/utilis au niveau du projet DataStage global ou chang lors du

    traitement dun job en particulier via la variable denvironnement $APT_CONFIG_FILE.

  • G-FRIDO JUGO4715

    5

    Ce fichier dcrit la configuration utilise sur le serveur pour le traitement des processus

    gnrs par les jobs.

    Exemple:

    {

    node node1 {

    fastname rdtsuat

    pools

    resource disk /DataStage/data/PXTEMPDATA1/DNT2/DS {pools }

    resource scratchdisk /DataStage/data/PXTEMPDATA2/DNT2/SCRATCH {pools }

    }

    }

    node node2{

    fastname rdtsuat

    pools

    resource disk /DataStage/data/PXTEMPDATA2/DNT2/DS {pools }

    resource scratchdisk /DataStage/data/PXTEMPDATA1/DNT2/SCRATCH {pools }

    }

    }

    Dans cet exemple, les processus seront parallliss sur 2 nuds (node1, et node2).

    Chaque nud dispose dun rpertoire disque pour le stockage :

    des DataSets (resource disk)

    Et pour le swapping (resource scratchdisk).

    Ces paramtres sont trs importants, surtout en phase de tuning !

    Le nom de chaque machine est spcifi aprs la mention : fastname

    Il est aussi possible dutiliser des pools (noeud/resource). Un pool se dfinit par un groupe de nud (ou de ressource), cette notion pouvant tre rutilise lors du design des jobs DataStage (il est alors possible que lexcution de tel traitement se fera au travers dun pool particulier

    par exemple) : cela permet par exemple le cloisonnement de certains traitements particuliers.

  • G-FRIDO JUGO4715

    6

    Quelques Trucs

    Tout dabord on peut se poser la question du nombre de nuds spcifier dans le fichier APT_CONFIG_FILE. Ce nombre dpend de pas mal de paramtres dont certains ne peuvent tres dfinis comme une rgles gnrique (par exemple selon le type de traitement

    effectu dans le job lui mme, lutilisation des ressources, etc.). On peut nanmoins partir avec 1 nud par demi-CPU disponible. Ce nombre sera ensuite ajust selon les besoins.

    Si possible, vitez dutilisez les disques dans lesquels vous stockez les sources de donnes !

    Nutilisez pas (ou du moins vitez) des ressources NFS pour les ressources scratchdisk.

    Attention si vous utilisez une SAN :

    Vous devez alors absolument comprendre la configuration de la baie (pour viter tout

    conflit matriel) Si possible placez le scratchdisk sur un disque local (ou plusieurs)

    Ne faites pas confiance aux utilitaires de monitoring

    Pour Ce Tutoriel

    Gardez le fichier APT_CONFIG_FILE par dfaut bref ne touchez rien

    La palette des jobs Parallel (PX)

    Pour les dveloppeurs DataStage Server

    Si vous tiez dveloppeur DataStage Server, vous constaterez assez vite la diffrence entre la palette des jobs server et celle des jobs Parallel (job PX). Partez donc directement du principe que les stages PX sont totalement diffrents de ceux de serveur a sera plus simple :

    croire par exemple que le transformer va tre la mme boite outil que dans server est une erreur, vous allez dailleurs vite vous en rendre vite compte.

    En fait avec DataStage PX chaque typologie de transformation possde son stage (ou ses stages) associ fini donc de tout mettre dans un gros transformer avec plein de code Basic

    pour traiter une logique de transformation ! Avec DataStage PX vous allez devoir dcomposer votre logique de flux via beaucoup plus de stages : Ca sera plus lisible du coup mais la

    contrepartie est que les jobs vont grossir et se complexifier ! on ne peut pas tout avoir

    La manire de dvelopper reste cependant la mme, on prend des stages que lon pose dans le canevas et la logique de flux suit les flches attention il y aura bien sur quelques

    subtilits ne pas ngliger comme les partitionnements/repartitionnements (vous verrez dailleurs ce propos de nouveaux logos sur les liens mme) mais la logique reste la mme ! dailleurs la similitude sarrte l !

  • G-FRIDO JUGO4715

    7

    Pour les autres

    La logique de dveloppement avec DataStage est dcrite dans le tutoriel DataStage Server. http://www.exl- infosfr.com/tutoriels/tutoriel-datastage-server/

    Prsentation des stages Parallel (PX)

    Cest partir de l que la diffrence avec DataStage Server se fait sentir en effet la palette de stages est trs diffrente voire compltement. Et comme je le disais juste avant mfiez-vous des apparences car elles sont trompeuses. Je vais vous prsenter au travers de cette page

    les principaux stages parallel.

    Les stages de transformation dits Processing

    Ce sont les stages ddis aux transformations de donnes proprement dit :

    Aggregator : ce stage permet (comme son nom lindique) deffectuer des oprations de

    regroupement et agrgats (somme, max, min, moyenne, etc.) sur un jeu

    de donnes. Change Capture & Change Apply :

    stages utiliss pour effectuer de la

    dtection de changement sur un jeu de donnes

    Copy: Stage trs utile qui permet de dupliquer en n flux un flux entrant (avec possibilit dy enlever des

    colonnes) Filter : Stage effectuant un filtre sur

    un flux Funnel : Stage permettant de

    fusionner des plux de mme structure

    (comme le ferait un UNION) Join & Merge : Jointures entre des

    flux Lookup : opration de Lookup Remove Duplicates: retire les

    doublons dun flux Transformer : permet deffectuer

    des transformations sur un flux de donnes (jointures interdites)

    Modify : Permet la manipulation des

    mtadonnes du flux entrant Sort : tri

    Etc.

  • G-FRIDO JUGO4715

    8

    Les stages de deboggage dits Debug

    Ces stages servent dbogger et/ou manipuler des jeu de tests :

    Column Export: permet de

    fusionner des colonnes Column Import : permet dclater

    une colonne en plusieurs Etc.

    Les stages de fichier dits File

    Ces stages servent manipuler les fichiers :

    Column Generator: permet

    dajouter des colonnes dans un flux

    Row Generator: permet de gnrer un jeu de ligne

    Peek : pose une trace dans un

    flux qui pourra tre visualise dans le Director

    Etc.

    Les stages de restructuration dits Restructure

    Ces stages servent restructurer les flux de donnes :

    Complex Flat File : permet de

    manipuler des fichiers structure complexe (comme des CopyBook COBOL par exemple)

    DataSet: Fichier intrinsque DataStage PX (sorte dquivalent

    du fichier Hash dans Server). Ce fichier conserve le partitionnement !

    Sequential File : Connecteur Fichier plat

    Etc.

  • G-FRIDO JUGO4715

    9

    Ae pas de debug ! Comment faire ?

    Autant DataStage Server tait fournit avec un Debugger intgr Autant DataStage PX ne lest pas ! cest donc sans quil va falloir dvelopper ses jobs. Heureusement la palette de stages nous fournit quelques outils qui nous serons utiles dans notre tche.

    Utilisation du Peek

    Le Peek cest un peu le mouchard de DataStage PX, grce lui vous saurez postriori quel tait ltat des donnes un endroit prcis de votre job.

    Cel a un inconvnient majeur : pour debugger votre job vous allez devoir

    modifier le design (afin dy ajouter le Peek). Cest ici que lestage Copy prend son importance dans la conception du job car grce ce dernier vous pourrez

    dupliquer des flux (vers des Peek) sans influer sur la logique gnrale de votre job.

    Voici un exemple concret :

    Ce job ne fonctionne pas comme je le voudrais, afin de mieux comprendre jaurais besoin de connaitre ltat de mon flux entre lestage Modify_3 et le stage Remove_Duplicates_4 Comment faire ?

    En bien commencons par ajouter 2 stages dans le flux :

    Un Copy Stage Un Peek

  • G-FRIDO JUGO4715

    10

    NB: Dans le copy Stage effectuons un mapping complet sur les deux sorties

    (Peek_11 et Remove_Duplicates_4)

    Voil, une fois lanc le job tracera les donnes du flux dans le Peek, rsultat quil sera possible de consulter dans le Director. Attention de ne pas charger trop de donnes sans quoi les traces seraient trop importantes, travaillez sur des chantillons reprsentatifs.

    Une fois mon flux valid, il faudra retirer le Peek Le Copy Stage tant un stage qui ne consomme quasiment rien il nest pas ncessaire de le supprimer part pour des raisons de lisibilits bien sur. On aura donc le job final suivant :

  • G-FRIDO JUGO4715

    11

    Utilisation du Row Generator

    Le row Generator est un stage trs utile car il permet de gnrer trs simplement des jeux de donnes simples (algorithme cycliques, hasard, etc.). Nhsitez donc pas utiliser ce stage et en abuser

    La mthodologie

    Pour faire simple, soyons clair les outils de debug sont limits (IBM promet de

    founir un debugger dans ses prochaines versions jai espr pour le 8.5 mais non, on verra plus tard) en attendant soyez mthodique dans votre faon de dvelopper vos jobs et par exemple vitez de placer toute votre logique cad tous les stages dans le canevas pour ensuite tester votre job. A la place je vous recommanderai de construire et tester votre job de manire progressive et

    itrative : un premier morceau on le teste, on le corrige, on y rajouter le second morceau, etc.

    Un premier job facile

    Nous y voil, notre premier job pour ce premier exercice je vous propose de dvelopper le mme job que dans le TutorielDataStage Server. Cela nous permettra de commencer voir

    les diffrences entre ces deux serveurs. Rappelons nous lide est de lire un fichier squentiel (plat) et dy mettre le contenu dans un fichier Hash ! Ae a nexiste pas dans PX/EE

    la place nous utiliserons un DataSet bien sur. Noublions pas non plus la petite transformation qui doit tre faite lors de ce transfert de donnes, savoir la concatnation du nom & prnom.

    Les mtadonnes

    Tout dabord rcuprez le fichier de donnes (cest le mme que celui du tutoriel DataStage Server pour ceux qui lont dj) :

    ID|NOM|PRENOM|SALAIRE|SERVICE

    1|KALA|BENOIT|90400|MARK

    2|LEBRANCHU|PAUL|75900|FIN

    3|TORGIL|JEAN|45000|FIN

    4|TUDOR|JEAN-PHILIPPE|67000|MARK

    5|GEORGE|MIKAEL|89000|FIN

    6|GUIDON|JEROME|30900|ACHAT

    7|DECONIC|PHILIPPE|48900|FIN

    Ensuite il faut importer les mtadonnes de ce fichier. Cette opration est la mme ce celle effectue dans le tutoriel DataStageServer. Dans le repository, faites un clic droit, puis slectionnez Import Table Definition , puis Sequential File Definition . Un assistant apparait alors pour importer vos mtadonnes bases sur le fichier que vous allez slectionner

    :

  • G-FRIDO JUGO4715

    12

    Dans cet assistant slectionnez tout dabord le rpertoire dans lequel se trouve votre fichier,

    puis le fichier lui mme. Une nouvelle fentre apparait alors (cf. ci-dessous) dtaillant la structure du fichier telle que vu par lassistant. Cochez la case First line is column names

    puis changer la valeur de Other Delimiter avec le pipe : |

    Design du job

    Nous allons maintenant placer dans le canevas (la zone de dveloppement droite en bleu par dfaut) les stages constituant notre logique de flux dintgration soit :

    Un Sequential File (palette File)

    Un Transformer (palette Trasnformation) Un DataSet (Palette File) :

    Les trois doivent tre lis de la sorte :

  • G-FRIDO JUGO4715

    13

    Jusque l, certains (les dveloppeurs DataStage Server tout particulirement) vont me dire

    qu peu de choses prs PX et server cest l mme chose et bien continuons avec le paramtrage, vous allez voir que les diffrences vont commencer.

    Paramtrage du Sequential File

    Double-cliquez sur le stage Sequential_File_0. Vous avez alors un certain nombre doptions et donglets bien plus important que dans DataStage Server. Commenons par le second : Properties, nous allons y prciser o se trouve notre fichier (proprit File=), changez aussi la

    proprit First Line is coluimn Name true :

    Dans longlet Format, nous allons prciser comment est structur notre fichier. A savoir notre

    dlimiteur de colonne (pipe), de fin de fichier, de ligne, etc. Changeons ici aussi la proprit Quote none pour prciser que nos colonnes ne sont pas encadres par un dlimiteur.

  • G-FRIDO JUGO4715

    14

    Importons maintenant nos mtadonnes fraichement importes (grce au bouton Load)

    dans longlet Columns :

    Voil, cest termin pour le connecteur fichier plat, vous pouvez toujours vrifier votre paramtrage en utilisant le bouton View Data.

    Paramtrage du Transformer

    Le paramtrage du transformer est trs simple, double-cliquez sur le stage Transformer_1 :

    Voici les actions raliser pour obtenir lcran (le mapping) ci dessus:

    1. Supprimez la drivation DSLink3.PRENOM

    2. Double-cliquez sur la drivation DSLink3.NOM pour entrer en mode modification et tapez DSLink3.NOM : : DSLink3.PRENOM

    3. Validez

    Notez ici que vous ne pourrez pas utiliser les routines server dans le transformer PX, la

    place et si le besoin sen fait sentir vous devrez dvelopper une routine parallel(PX) en C/C++ mais cest une autre histoire.

  • G-FRIDO JUGO4715

    15

    Paramtrage du DataSet

    Il ny ici presque rien faire sinon prciser o se trouve le dataset, pour cela double-cliquez sur le stage Dataset_3 et changez la valeur File comme ceci :

    Lancement du job

    Voil notre premier job est termin, compilez le et lancez le grce aux deux boutons suivants :

    Vous devrez alors obtenir le rsultat suivant :

    Allez, maintenant passons un job un peu plus complexe

    Un second job plus complexe

    Nous venons de voir comment crer un premier job trs simple. Tout en ne tombant pas dans

    lextrme complexit nous allons maintenant rhausser la difficult dun cran. Voici lobjet de ce second job : partir du mme fichier notre job va devoir gnrer deux sorties :

    1. Dans un fichier squentiel : un listing contenant Nom, prnom et salaire sous le format suivant : NOM PRENOM (SALAIRE Euros)

  • G-FRIDO JUGO4715

    16

    2. Dans un dataset : le cumul par service des salaires. Attention il faut exlure le service

    achat de cette liste !

    Design du job

    Ajouter tout dabord un nouveau Job Parallel (comme nous lavons fait prcdemment).

    Dans le canevas disposez les stages suivant comme ceci :

    Note :

    Le stage Filter est prsent dans la palette Transformation Le stage Aggregator est prsent dans la palette Transformation

    Le stage Copy est prsent dans la palette Transformation

    Le rle du Copy Stage est prpondrant ici car il sert dupliquer le flux initial (provenant du sequential File) en deux, pour deux traitements diffrents : le reformattage dans un nouveau

    fichier plat et laggrgat.

    La partie suprieure (transformer & Sequential File) a donc pour rle de concatner les colonnes et de les reformatter. La granularit reste ici celle de lemploye.

    La partie infrieure elle a un tout autre rle :

    Tout dabord un filtrage du service ACHAT qui ne nous interresse pas (rle du stage

    Filter) Ensuite un regroupement par service et somme des salaires via le stage Aggregator Lcriture dans un DataSet

    Paramtrage du Copy Stage

    Une fois plac dans le canevas, il va falloir modifier deux choses dans le paramtrage du copy Stage :

    Son mapping vers le flux suprieur :

  • G-FRIDO JUGO4715

    17

    Son mapping vers le flux infrieur

    Noubliez pas, pour les mapping, quils se trouvent dans les transformer ou ailleurs, il suffit de faire des glisser-dplacer pour effectuer le lien

    Paramtrage du Transformer

    En ce qui concerne le transformer, cest ici que nous allons reformatter le flux afin davoir un joli listing dans le fichier plat ultrieur. Il faut donc passer de 3 colonnes en une seule ! pour cel rien de plus simple. Crez une nouvelle colonne dans le lien de sortie (Insert New

    Column) de type Varchar(255) et tapez la formule suivante :

    Validez.

    Paramtrage du Sequential File (ecriture)

    Il faut maintenant prcisez comment et o nous allons ecrire notre fichier. Double-cliquez sur le stage Sequential_File_26, aprs avoir prcis le nom du fichier dans lequel il fallait ecrire,

    prcisez les options suivantes de format :

  • G-FRIDO JUGO4715

    18

    A savoir : Pas de delimiteurs de colonnes & lignes.

    Paramtrage du Filter

    Passons maintenant la partie infrieure de notre job. Il faut tout dabord retirer les employs du service ACHAT, cest l le rle du stage Filter. Double-cliquez dessus :

    Prcisez la clause de filtrage (Where Clause) : SERVICE ACHAT et validez.

    Paramtrage de laggregator

    Son rle est tout dabord deffectuer un regroupement par SERVICE puis une somme des SALAIRE par SERVICE.

    Double-cliquez sur le stage Aggregator.

    Pour commencer il faut saisir (manuellement) les mtadonnes de sortie (Output), onglet Columns :

  • G-FRIDO JUGO4715

    19

    Ensuite il faut prciser les regroupements et agrgats :

    Rsum :

    Pour la proprit Group, saisissez SERVICE Saisissez la colonne (en entre/input) dagrgat : SALAIRE, et la colonne calcule

    (output) SALAIREAGG dans la sous-proprit Sum Output Column.

    Changez ensuite le mapping (onglet output) comme suit :

    Noubliez pas de prciser pour le stage DataSet le nom de fichier.

    Voil les stages sont maintenant paramtrs, il nous reste compiler et lancer notre job :

  • G-FRIDO JUGO4715

    20

    Le fichier (Sequential_File_26) doit avoir t cr sur le serveur :

    KALA BENOIT (90400 Euros) TORGIL JEAN (45000 Euros)

    GEORGE MIKAEL (89000 Euros) DECONIC PHILIPPE (48900 Euros)

    LEBRANCHU PAUL (75900 Euros) TUDOR JEAN-PHILIPPE (67000 Euros) GUIDON JEROME (30900 Euros)

    Voil jespre que ce tutoriel vus aura aid apprhender DataStage PX, je nai pas abord les notions de partitionnementvolontairement afin de ne pas compliquer cette entre en la matire a sera loccasion dun autre tutoriel :

    Vous trouvez le fichier de ce tuto

    Tutoriel DataStage PX/EELien internet : http://www.exl-infosfr.com/tutoriels/tutoriel-datastage-pxee/IntroductionNote pour les dveloppeurs DataStage ServerTable des matiresLe paralllisme avec DataStage PXPartitionnement et repartitionnement la voleLes fichiers de configurationLa palette des jobs Parallel (PX)Pour les dveloppeurs DataStage ServerPour les autresPrsentation des stages Parallel (PX)Les stages de transformation dits Processing Les stages de deboggage dits Debug Les stages de fichier dits File Les stages de restructuration dits Restructure

    Ae pas de debug ! Comment faire ?Utilisation du PeekUtilisation du Row GeneratorLa mthodologie

    Un premier job facileLes mtadonnesDesign du jobParamtrage du Sequential FileParamtrage du TransformerParamtrage du DataSetLancement du job

    Un second job plus complexeDesign du jobParamtrage du Copy StageParamtrage du TransformerParamtrage du Sequential File (ecriture)Paramtrage du FilterParamtrage de laggregator