Debugger i Informatica: Session, Breakpoint, Verbose Data & Mapping
Som vi diskuterede i tidligere emner, er en kortlægning en samling af kilde- og målobjekter forbundet med et sæt transformationer. Disse transformationer består af et sæt regler, som definerer dataflowet og hvordan data indlæses i målene.
Hvad er Debugger?
Debugger er et meget praktisk værktøj i Informatica. Når vi udfører kortlægningen, udfører Informatica kortlægningen baseret på den definerede transformationslogik.
Dens udførelse ligner batch-tilstand, hvor vi ikke kan se de mellemliggende resultater, eller hvordan dataene bliver ændret fra transformation til transformation.
Mange gange får vi data i målet, hvilket ikke er, som vi havde forventet. Ved hjælp af debugger har vi kan analysere, hvordan data bevæger sig inden for kortlægningen. Vi kan analysere dataene række for række i en debugger.
Brugen af debugger kræver en sessionsforekomst, vi kan enten genbruge en eksisterende session, som blev oprettet tidligere til at køre kortlægningen, eller vi kan oprette en ny debugsessionsinstans. Da dataene under fejlsøgningen bliver hentet fra kilden, så har vi muligheden for, hvad vi skal gøre med disse data.
- Enten kan vi kassere dataene eller
- Dataene kan indlæses i målet
Disse muligheder kan indstilles under konfigurationen af debuggeren.
For at overvåge debuggeren er der to vinduer i Informatica designer
- Target vindue
- Forekomst vindue
I målvinduet vises målposten, som skal indsættes i måltabellen. I forekomstvinduet kan du vælge enhver af transformationsforekomsterne af tilknytningen. Derefter er alle portene for den transformation synlige i dette vindue, og du kan analysere dataene, hvordan de bliver transformeret.
Trin til brug af debugger i en kortlægning
Informatica-designeren giver funktionen til at bruge debuggeren til at debugge kortlægninger. Det betyder, at vi kan fejlsøge og analysere enhver eksisterende kortlægning. Kravet til debuggeren er, at kortlægningen skal være en gyldig mapping.
I øvelsen vil vi fejlsøge vores eksisterende kortlægning "m_emp_emp_target", som vi oprettede tidligere. I vores kildedata vil vi kontrollere, om der er en bestemt registrering af medarbejdernavn ='SCOTT'. For Scott vil vi kontrollere, at værdierne er hentet i Informatica, og om posten er skubbet til målet korrekt eller ej.
Vores kildedata for "emp"-tabellen ser sådan ud.
For ename "SCOTT" vil vi ved hjælp af debugger kontrollere, at hvilken værdi for kolonnen "sal" (løn) hentes i Informatica.
Trin 1) Åbn Informatica designer og i designer åbn kortlægningen "m_emp_emp_target" ved at dobbeltklikke på den. Det vil open source-kvalifikations- og måldefinitionstabeller, der viser kortlægning inde i Mapping Designer.
Trin 2) Start nu debuggeren
- Klik på kortlægninger menuindstilling
- Vælg Debugger fra indstillingerne
- Vælg "start debugger" mulighed
Trin 3) Vælg næste i debug mapping-vinduet
Trin 4) I det næste vindue får du mulighed for at vælge sessionstype. Du kan bruge eksisterende session, eksisterende genanvendelig session, eller du kan oprette en fejlretningssessionsforekomst.
Når du bruger den eksisterende session, vil Informatica bruge den tidligere session, som du oprettede til denne kortlægning. Når du vælger instansen opret fejlfindingssession, oprettes en ny sessionsforekomst til fejlretning.
I dette eksempel vil vi vælge eksisterende genbrugelig sessionsforekomst. Integrationstjenesten vil være standard.
- Vælg muligheden "brug en eksisterende sessionsforekomst".
- Klik på næste
Trin 5) I det nye vindue vil Informatica bede dig om at vælge den eksisterende session til fejlretningen.
Vælg sessionen "s_m_emp_emp_target", og klik på knappen Næste
Trin 6) I det næste vindue vil der være en mulighed "Kasseg måldata", vi vælger denne mulighed, da vi under fejlfinding ikke ønsker at indlæse nogen data i vores måltabel.
- Vælg muligheden "Kassér måldata."
- Vælg måltabellen "emp_target"
- Klik på knappen Afslut.
Med ovenstående trin har vi konfigureret og startet debuggeren. Nu kan vi fejlsøge kortlægningen.
Trin 7) Debuggeren er startet, men den har ikke hentet nogen rækker fra kilden. Under debugging henter den data fra kilden række for række. For at begynde at hente første række fra kilden
- Vælg kortlægningsmulighed i menuen
- Vælg debugger-indstilling
- Vælg næste instansindstilling
Trin 8) I instansvinduet vil du se den første hentede post fra kildekvalifikationen.
Hvis du analyserer forekomstvinduet, vil det vise den første post - navngiv "SMITH"-rækken. Det er ikke den rekord, vi leder efter. Så vi kan gå videre til næste instans.
Trin 9) For at gå til næste forekomst (for at flytte til næste række)
- Tryk på F10-knappen (genvej for at gå til næste instans, i stedet for at gå til kortlægningsindstilling og derefter fejlfindingsindstilling)
Efter flytning til næste forekomst, vil data i forekomstvinduet ændre sig til næste post.
Trin 10) Bliv ved med at trykke på F10-knappen, indtil du når til den krævede registrering af "SCOTT"-medarbejder. Når du når det punkt, vil instansvinduet være som vist nedenfor
Dette er den instans, som vi ledte efter. Så i instansvinduet kan vi analysere dataene. Om det kommer korrekt, eller der mangler en værdi.
I kildedataene var detaljerne om "SCOTT"-medarbejderen som job = "ANALYST", leder-id = "7566", eller "3000."
Og i debuggeren har vi for medarbejderen "SCOTT" analyseret alle disse detaljer, og de stemmer overens med kildedataene, så vi er sikre på, at posterne blev hentet korrekt af kildekvalifikationen.
Brug af breakpoint i debugger
Når vi leder efter en bestemt række af data som i det foregående eksempel, kan vi i stedet for at gå til hver forekomst af kildedata definere brudpunkter.
Et brudpunkt er en betingelse eller et sæt af en betingelse, der er defineret under konfiguration af fejlfinding, således at når denne betingelse bliver sand, stopper debuggeren til den pågældende instans.
Hvis vi f.eks. definerer deptno=20 i et brudpunkt, vil fejlretningen stoppe til den forekomst af data, når som helst for en post, hvis denne betingelse er sand.
Trin 1) For at konfigurere brudpunktet
- Gå til kortlægningsmenuen
- Vælg debugger-indstilling
- Vælg muligheden "rediger brudpunkter".
Trin 2) Du vil se et "rediger brudpunkt" vindue som vist nedenfor
Trin 3) Klik på knappen Tilføj i pausepunktsvinduet
Trin 4) I det nye vindue
- Vælg SQ_EMP som forekomst
- Vælg knappen OK
Trin 5) Det forrige vindue vil se ud som vist nedenfor
Trin 6) Du har et brudpunkt, nu skal du definere brudpunktsbetingelsen. For at definere brudpunktstilstand
- Klik på ikonet "tilføj ny tilstand".
En ny række under betingelsesfane vises. Her kan vi konfigurere tilstanden.
Trin 7) I tilstandstabellen
- I port-rullemenuen skal du vælge "ENAME"-indstillingen (da vi fejlfinder for record ename='SCOTT')
- Indtast værdien "SCOTT" i værdifeltet.
- Vælg knappen OK
Trin 8) Start nu debuggeren som nævnt i det forrige emne
Gå til kortmenuen -> vælg debugger-indstilling -> vælg start debugger -> vælg sessionsforekomst
Trin 9) Når debugger er startet
- Vælg kortlægningsmenu
- Vælg debugger-indstilling
- Vælg fortsæt mulighed
Debuggeren vil gå til hver forekomst af selve rækken og vil tjekke for tilstanden "ename=SCOTT". Den post, for hvilken denne betingelse er sand, vil debuggeren standse på den instans. Så når datavolumen er høj, kan du i stedet for at gå efter hver forekomst af kildepost konfigurere et brudpunkt, og du kan hoppe direkte til denne post.
Når Informatica er færdig med at gennemgå alle forekomsterne, stoppes debuggeren automatisk. Hvis du vil analysere dataene igen, skal du genstarte debuggeren igen.
Sporing i Informatica
Hver gang du udfører en session til en kortlægning, genereres en sessionslog. Den består af detaljerne i udførelsen som
- Timing af begivenhederne
- Fejldetaljer
- Individuel transformationsstatistik mv.
Inde i transformationerne af en mapping kan du konfigurere og indstille, hvor mange detaljer Informatica skriver inde i sessionsloggen.
Der er fire niveauer, som kan indstilles til sporing inde i transformationerne.
Forskellige logtilstande | Aktiviteter i forskellige logtilstande |
---|---|
Normal | I normal tilstand skriver Informatica om transformationsinitialisering og statusoplysninger, opståede fejl og opsummerer sessionsresultater. |
Kort | I Terse Mode skriver Informatica kun om initialiseringsoplysninger og fejldetaljer. Terse-tilstand skriver minimumsdetaljer i sessionsloggen. |
Udførlig initialisering | I Verbose Initialization mode skriver Informatica logdetaljerne svarende til normal mode og skriver derudover også om de anvendte data og indeksfiler og transformationsstatistikker. |
Udførlige data | I Verbose data skriver Informatica log svarende til verbose initialisering, men skriver derudover også alle data, der passerer gennem transformationen. |
Bemærk: Som standard er sporingsniveauet indstillet til normalt, det anbefales kun at bruge detaljeret datatilstand, når du fejlfinder kortlægningen. Den kortfattede tilstand kan bruges til at forbedre ydeevnen, da den skriver minimumsdetaljerne. Så overhead af skrivelog vil være minimum.
Sådan indstiller du sporingsniveau i en transformation
Trin 1) Åbn kortlægningen i Informatica designer, som du vil indstille sporingsniveauet for
Trin 2) Double klik på transformationen (Source Qualifier transformation "SQ_EMP")
Det åbner redigerings-transformationsvinduet.
Trin 3) I redigeringstransformationsvinduet
- Klik på fanen Egenskaber
- Vælg indstillingen Sporingsniveau
- Vælg Verbose data fra rullemenuen
- Vælg knappen OK
Trin 4) Gem kortlægningen og udfør kortlægningen (brug ctrl+s tastaturgenvej for at gemme kortlægningen)
Trin 5) For at se loggen
- Åbne workflow monitor og vælg den session, der blev udført i det sidste trin
- Klik på "sessionslog" for at åbne sessionsloggen for kortlægningen
Dette åbner sessionslogvinduet for kortlægningen
Sessionsloggen giver detaljerne om, hvordan din session blev udført. Det giver timing detaljerne, når udførelsen startede og stoppede. Det giver den grundlæggende idé om forestillingen. Den nævner hvilken databaseforbindelse du bruger, hvilken parameterfil du bruger. Den opsummerer også om kilden og målene ved at nævne, hvor mange kildeposter der blev hentet, hvor mange poster der blev indlæst i målet osv.
Trin 6) Rul ned i loggen, og du kan se yderligere logdetaljer, der er fanget, inklusive dataposterne.
På denne måde kan du indstille sporingsniveauet i kortlægninger for at fange de yderligere detaljer til fejlretning.
I denne vejledning har du lært, hvordan du indstiller, konfigurerer og udfører fejlfinderen, og hvordan du indstiller sporingsniveau i kortlægninger. Disse muligheder giver dig mulighed for at fejlsøge kortlægningerne.