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.

  • 🧪 Sessionsinstans: Fejlfindingsprogrammet skal bruge en eksisterende session, en genanvendelig session eller en ny fejlfindingssessionsinstans.
  • 🛡️ Target sikkerhed: Hvis du vælger Kassér måldata, forbliver måltabellen uberørt, mens kortetping er analyseret.
  • 🔎 To vinduer: Målvinduet viser den række, der skal indsættes; instansvinduet viser alle porte i en valgt transformation.
  • ⏭️ Rækketrinping: Næste instans, eller F10-genvejen, flytter fejlfindingsprogrammet frem én række ad gangen.
  • 🚩 Knækpunkter: En betingelse som ENAME lig med SCOTT stopper kørslen på den ønskede række direkte.
  • 📝 Tracniveauer: Normal, Kortfattet, Verbose Initialisering og Verbose Data styrer, hvor mange detaljer sessionsloggen indeholder.

Fejlfinder i Informatica

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.

Eksempel på rækker i tabellen for emp-kilder, inklusive SCOTT-posten, der bruges i denne øvelse.

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.

Kortping m_emp_emp_target åbnet i Kortping Designer med dens kildekvalifikator og mål

Trin 2) Start nu fejlfinderen

  1. Klik på kortetpings menupunkt
  2. Vælg Debugger fra indstillingerne
  3. Vælg indstillingen "Start fejlfinding"

Kortpings-menu med Fejlfinder og Start Fejlfinder valgt i Designer

Trin 3) Vælg Næste på fejlfindingskortetping vindue.

Åbningsskærm for fejlfindingskortetping guiden med knappen Næste

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.

  1. Vælg indstillingen "brug en eksisterende sessionsinstans"
  2. Klik på Næste

Skærmbilledet Sessionstype med den eksisterende sessionsforekomst valgt

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.

Guiden viser den genbrugelige session s_m_emp_emp_target til valg

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.

  1. Vælg indstillingen "Kassér måldata"
  2. Vælg måltabellen “emp_target”
  3. Klik på knappen Udfør

Target Indstillingsskærm med Kassér måldata markeret for emp_target

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

  1. Vælg kortetpings valgmulighed fra menuen
  2. Vælg fejlfindingsfunktionen
  3. Vælg indstillingen Næste instans

Kortpings-menuen, der viser kommandoen Næste instans, der henter én række

Trin 8) I instansvinduet vil du se den første hentede post fra kildekvalifikationen.

Instansvindue, der viser den første hentede række for medarbejderen SMITH

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.

Instansvinduet blev opdateret med følgende kilderække efter tryk på F10

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.

Instansvindue stoppet på SCOTT-rækken med job, leder-id og løn

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

  1. Gå til kortetpings menu
  2. Vælg fejlfindingsfunktionen
  3. Vælg indstillingen "Rediger breakpoints"

Kortpings-menuen med kommandoen Rediger brudpunkter fremhævet

Trin 2) Du vil se et vindue med titlen "Rediger breakpoints" som vist nedenfor.

Vinduet Rediger breakpoints, før der er tilføjet et breakpoint

Trin 3) I breakpoint-vinduet skal du klikke på knappen Tilføj.

Knappen Tilføj i vinduet Rediger breakpoints, der bruges til at oprette et breakpoint.

Trin 4) I det nye vindue

  1. Vælg SQ_EMP som instans
  2. Vælg OK-knappen

Dialogboks til valg af instans med SQ_EMP valgt som breakpoint-instans

Trin 5) Det forrige vindue vil se ud som vist nedenfor.

Vinduet Rediger breakpoints viser det nye SQ_EMP breakpoint

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".

Tilføj ikonet Ny betingelse i betingelsesfanen i breakpoint-vinduet

En ny række under fanen "Betingelse" vises. Her kan vi konfigurere betingelsen.

Trin 7) I tilstandstabellen

  1. I rullemenuen Port skal du vælge indstillingen "ENAME", da vi fejlfinder for posten ename='SCOTT'
  2. Indtast værdien "SCOTT" i værdifeltet.
  3. Vælg OK-knappen

Betingelsesrække konfigureret med port ENAME og værdien SCOTT

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

  1. Vælg kortetpings menu
  2. Vælg fejlfindingsfunktionen
  3. Vælg indstillingen Fortsæt

Kortpings-menuen med kommandoen Fortsæt, der kører til det næste breakpoint

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.

Fejlfindingsprogrammet stoppede på SCOTT-rækken efter at breakpoint-betingelsen matchede

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.

Kortping åbnet i Informatica Designer klar til en tracændring af niveau

Trin 2) Double-klik på transformationen, her er kildekvalifikatortransformationen “SQ_EMP”.

Det åbner vinduet Rediger transformationer.

Vinduet Rediger transformationer åbnet for SQ_EMP-kildekvalifikatoren

Trin 3) I vinduet Rediger transformationer

  1. Klik på fanen Egenskaber
  2. Vælg Tracing Level-mulighed
  3. Fra rullemenuen skal du vælge Udførlige data
  4. Vælg OK-knappen

Fanen Egenskaber med TracRullemenuen for ing-niveau er indstillet til detaljerede data

Trin 4) Gem kortetping og udfør kortetpingBrug tastaturgenvejen Ctrl+S til at gemme kortetping.

Trin 5) For at se loggen

  1. Åbne Workflow Monitor og vælg den session, der blev udført i det sidste trin
  2. Klik på "Sessionslog" for at åbne sessionsloggen for kortet.ping

Højreklikmenuen i Workflow Monitor med indstillingen Sessionslog

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.

Sessionsloghoved med timings, forbindelser og antal kilder og mål

Trin 6) Rul ned i loggen, og du kan se yderligere registrerede logoplysninger, herunder dataposterne.

Den nederste del af sessionsloggen, der viser individuelle dataposter indsamlet ved hjælp af verbose tracING

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.

Ofte Stillede Spørgsmål

Kortetping skal først være gyldig. Uforbundne porte, et brudt link eller et ugyldigt udtryk forhindrer åbning af guiden, så designeren rapporterer valideringsfejlen og kortetping skal rettes.

Dataforhåndsvisning viser rå rækker direkte fra kilde- eller måltabellen. Trinping viser de samme rækker efter hver transformation, så den afslører, hvor en værdi ændres, i stedet for hvad tabellen indeholder.

Den skriver hver række, der passerer ind i kortetping, så loggen vokser hurtigt, og kørslen aftager. Sæt niveauet tilbage til Normal eller Terse for mindst mulig overhead, når problemet er fundet.

Nej. Når kørslen er afsluttet eller stoppet, lukkes sessionen, og analysen genstartes fra første række. En betingelse på værdien af ​​interesse undgår trinping gennem de tidligere optegnelser igen.

Datakvalitetsværktøjer baseret på maskinlæring profilerer hver kørsel og markerer kolonner, hvis fordeling skifter mellem indlæsninger, hvilket peger på den transformation, der ændrede værdien før et manuelt trinping begynder.

Copilot kan ikke oprette forbindelse til Designeren, men den kan generere Python eller shell-scripts, der analyserer en detaljeret log, tæller afviste rækker efter fejlkode og trækker rækkedata uden om en fejl.

Informatica Intelligent Cloud Services tilbyder dataforhåndsvisning af individuelle transformationer plus logfiler på jobniveau i stedet for en trinvis fejlfindingssession, så rækkeinspektion sker i kortet.ping designer.

Integrationstjenesten skriver den på den node, der kørte sessionen, under den konfigurerede sessionslogmappe. Åbning af den fra skærmen anmoder Log Agent, så serveradgang er ikke nødvendig.

Opsummer dette indlæg med: