Fejlfinding i Informatica: Breakpoint & Verbose-tilstand
⚡ Smart opsummering
Debugger i Informatica kører et kortping række for række i Designeren, så den værdi, der opbevares af hver port efter hver transformation, bliver synlig i stedet for kun det endelige resultat, der skrives til målet.
Som vi diskuterede i tidligere emner, en kortping er en samling af kilde- og målobjekter, der er forbundet med hinanden af et sæt transformationer. Disse transformationer består af et sæt regler, som definerer dataflowet og hvordan dataene indlæses i målobjekterne.
Hvad er Debugger?
Debugger er et meget praktisk værktøj i Informatica. Når vi udfører kortetpingInformatica udfører kortetping baseret på den definerede transformationslogik.
Dens udførelse ligner udførelse i batchtilstand, hvor vi ikke kan se de mellemliggende resultater eller hvordan dataene ændres fra transformation til transformation.
Mange gange er de data, vi får i målet, ikke, hvad vi forventede. Ved hjælp af Debugger kan vi analysere, hvordan dataene bevæger sig inden for kortet.ping, række for række.
Debuggeren kræver en sessionsinstans. Vi kan enten genbruge en eksisterende session, der er oprettet tidligere, til at køre kortet.ping, eller opret en ny fejlfindingssessionsinstans. Fordi dataene hentes fra kilden under fejlfinding, vælger vi, hvad der sker med disse data.
- Kassér dataene, eller
- Indlæs dataene i målet
Disse indstillinger kan indstilles under konfigurationen af Debugger.
Der er to vinduer i Informatica Designer til at overvåge Debuggeren
- Target vindue
- Forekomst vindue
I målvinduet vises den målpost, der skal indsættes i måltabellen. I instansvinduet kan du vælge en hvilken som helst af transformationsinstanserne på kortet.pingAlle portene i den pågældende transformation er derefter synlige i dette vindue, så du kan analysere, hvordan dataene transformeres.
Trin til at bruge Debugger i et kortping
Informatica Designer tilbyder funktionen til at bruge Debugger til at foretage fejlfinding af kortpings. Det betyder, at vi kan fejlfinde og analysere ethvert eksisterende kortpingKravet til Debuggeren er, at kortetping skal være et gyldigt kortping.
I denne øvelse vil vi foretage fejlfinding på vores eksisterende kortping "m_emp_emp_target", som vi oprettede tidligere. I vores kildedata vil vi kontrollere for en bestemt post med employee_name = 'SCOTT'. For Scott vil vi verificere, at værdierne hentes i Informatica, og om posten sendes korrekt til målet eller ej.
Vores kildedata for "emp"-tabellen ser sådan ud.
For e-navnet “SCOTT” vil vi ved hjælp af Debugger kontrollere, hvilken værdi for “sal” (løn) kolonnen der hentes i Informatica.
Trin 1) Åbn Informatica Designer, og åbn kortetping "m_emp_emp_target" ved at dobbeltklikke på den. Det åbner kildekvalifikator- og måldefinitionstabellerne, der viser kortetping inde i kortping Designer.
Trin 2) Start nu fejlfinderen
- Klik på kortetpings menupunkt
- Vælg Debugger fra indstillingerne
- Vælg indstillingen "Start fejlfinding"
Trin 3) Vælg Næste på fejlfindingskortetping vindue.
Trin 4) I det næste vindue får du mulighed for at vælge sessionstypen. Du kan bruge en eksisterende session, en eksisterende genanvendelig session, eller du kan oprette en fejlfindingssessionsinstans.
Når du bruger en eksisterende session, genbruger Informatica den session, du oprettede tidligere, til dette kort.pingNår du vælger opret en fejlfindingssessionsinstans, oprettes en ny sessionsinstans til fejlfinding.
I dette eksempel vælger vi en eksisterende sessionsinstans. Integrationstjenesten vil være standardindstillingen.
- Vælg indstillingen "brug en eksisterende sessionsinstans"
- 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 for at "Kassér måldata". Vi vælger denne mulighed, fordi vi under fejlfinding ikke ønsker at indlæse data i vores måltabel.
- Vælg indstillingen "Kassér måldata"
- Vælg måltabellen “emp_target”
- Klik på knappen Udfør
Med ovenstående trin har vi konfigureret og startet Debugger. Nu kan vi foretage fejlfinding på kortet.ping.
Trin 7) Fejlfindingsprogrammet er startet, men det har ikke hentet nogen rækker fra kilden. Under fejlfinding henter det data fra kilden række for række. For at hente den første række fra kilden
- Vælg kortetpings valgmulighed fra menuen
- Vælg fejlfindingsfunktionen
- Vælg indstillingen Næste instans
Trin 8) I instansvinduet vil du se den første hentede post fra kildekvalifikationen.
Hvis du analyserer instansvinduet, vil det vise den første post – rækken med enamet "SMITH". Dette er ikke den post, vi leder efter, så vi kan gå videre til den næste instans.
Trin 9) For at gå til næste række skal du trykke på F10-knappen. Dette er genvejen til at gå til næste instans i stedet for at bruge kortet.pings-indstillingen og derefter Fejlfindingsindstillingen.
Efter at have gået til den næste instans, ændres dataene i instansvinduet til den næste post.
Trin 10) Bliv ved med at trykke på F10-knappen, indtil du når den ønskede post for "SCOTT"-medarbejderen. Når du når dette punkt, vil instansvinduet se ud som vist nedenfor.
Dette er den instans, vi ledte efter. I instansvinduet kan vi analysere dataene, om de kommer korrekt, eller om der mangler en værdi.
I kildedataene var oplysningerne om "SCOTT"-medarbejderen job = "ANALYST", leder-id = "7566", sal = "3000".
Og i Debuggeren har vi for medarbejderen "SCOTT" analyseret alle disse detaljer, og de matcher kildedataene, så vi er sikre på, at posterne blev hentet korrekt af kildekvalifikatoren.
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 breakpoint er en betingelse eller et sæt af betingelser, der defineres under konfigurationen af fejlfinding, således at når betingelsen bliver sand, stopper fejlfindingsprogrammet ved den pågældende instans.
Hvis vi for eksempel definerer deptno=20 i et breakpoint, stopper Debugger ved den pågældende dataforekomst, når denne betingelse er sand for en post.
Et breakpoint kan også oprettes mod en global betingelse i stedet for en enkelt transformation, og dets type kan indstilles til fejl i stedet for data, hvilket stopper kørslen, når transformationen forårsager en fejl.
Trin 1) For at konfigurere brudpunktet
- Gå til kortetpings menu
- Vælg fejlfindingsfunktionen
- Vælg indstillingen "Rediger breakpoints"
Trin 2) Du vil se et vindue med titlen "Rediger breakpoints" som vist nedenfor.
Trin 3) I breakpoint-vinduet skal du klikke på knappen Tilføj.
Trin 4) I det nye vindue
- Vælg SQ_EMP som instans
- Vælg OK-knappen
Trin 5) Det forrige vindue vil se ud som vist nedenfor.
Trin 6) Du har et breakpoint, og nu skal du definere breakpoint-betingelsen. For at definere den skal du klikke på ikonet "Tilføj ny betingelse".
En ny række under fanen "Betingelse" vises. Her kan vi konfigurere betingelsen.
Trin 7) I tilstandstabellen
- I rullemenuen Port skal du vælge indstillingen "ENAME", da vi fejlfinder for posten ename='SCOTT'
- Indtast værdien "SCOTT" i værdifeltet.
- Vælg OK-knappen
Trin 8) Start nu Debuggeren som nævnt i det forrige emne.
Gå til kortetpings-menu → vælg indstillingen Fejlfinding → vælg Start fejlfinding → vælg sessionsinstansen.
Trin 9) Når fejlfinderen er startet
- Vælg kortetpings menu
- Vælg fejlfindingsfunktionen
- Vælg indstillingen Fortsæt
Debuggeren vil gå til hver forekomst af en række og kontrollere for betingelsen "ename=SCOTT", og stoppe på den post, hvor betingelsen er sand. Så når datamængden er høj, giver et breakpoint dig mulighed for at hoppe direkte til den post i stedet for at gå videre.ping gennem hver kilderække.
Når Informatica er færdig med at gennemgå alle instanserne, stopper Debugger automatisk. Hvis du vil analysere dataene igen, skal du genstarte Debugger.
Tracinden for informatik
Når du udfører en session for et kortping, genereres en sessionslog. Den består af detaljer om udførelsen, såsom
- Timing af begivenhederne
- Fejldetaljer
- Individuel transformationsstatistik osv.
Inde i transformationerne af et kortping, kan du konfigurere, hvor mange detaljer Informatica skriver i sessionsloggen.
Der er fire niveauer, der kan indstilles til tracinde i transformationerne.
| Tracniveau | Hvad Informatica skriver til sessionsloggen |
|---|---|
| Normal | I normal tilstand skriver Informatica om transformationsinitialiseringen og statusoplysninger, opståede fejl og opsummerer sessionsresultaterne. |
| Kort | I Terse-tilstand skriver Informatica kun om initialiseringsoplysninger og fejldetaljer. I Terse-tilstand skriver man minimumsoplysningerne i sessionsloggen. |
| Udførlig initialisering | I Verbose Initialization-tilstand skriver Informatica logoplysningerne på samme måde som i Normal-tilstand, og derudover skriver de anvendte data og indeksfiler samt transformationsstatistik. |
| Udførlige data | I Verbose Data-tilstand skriver Informatica en log, der ligner Verbose Initialization, men skriver derudover også til alle datarækker, der passerer gennem transformationen. |
Verbose Data noterer også, hvor integrationstjenesten afkorter strengdata for at tilpasse præcisionen af en kolonne.
Bemærk: Som standard er tracing-niveauet er indstillet til Normal. Det anbefales kun at bruge Verbose Data-tilstanden, når du fejlsøger kortet.pingKortfattet tilstand kan bruges til at forbedre ydeevnen, da den skriver et minimum af detaljer, så overheaden ved at skrive loggen er minimal.
Sådan indstilles TracNiveau i en transformation
Trin 1) Åbn kortetping i den Informatica Designer, som du vil indstille for tracniveau.
Trin 2) Double-klik på transformationen, her er kildekvalifikatortransformationen “SQ_EMP”.
Det åbner vinduet Rediger transformationer.
Trin 3) I vinduet Rediger transformationer
- Klik på fanen Egenskaber
- Vælg Tracing Level-mulighed
- Fra rullemenuen skal du vælge Udførlige data
- Vælg OK-knappen
Trin 4) Gem kortetping og udfør kortetpingBrug tastaturgenvejen Ctrl+S til at gemme kortetping.
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 kortet.ping
Dette åbner vinduet med sessionslogfiler for kortetping.
Sessionsloggen viser, hvordan din session blev udført: tidspunktet for, hvornår udførelsen startede og stoppede, en grundlæggende idé om ydeevnen, hvilken databaseforbindelse og parameterfil der blev brugt, og hvor mange kildeposter der blev hentet, og hvor mange der blev indlæst i målet.
Trin 6) Rul ned i loggen, og du kan se yderligere registrerede logoplysninger, herunder dataposterne.
På denne måde kan du indstille tracniveau på kortpings for at indfange de yderligere detaljer til fejlfinding.
I denne vejledning har du lært, hvordan du indstiller, konfigurerer og udfører Debugger, og hvordan du indstiller tracniveau på kortpings. Disse muligheder giver dig mulighed for at foretage fejlfinding på kortetpings.



























