Debugger in Informatica: sessie, breekpunt, uitgebreide gegevens en mapping
Zoals we in eerdere onderwerpen hebben besproken, is een mapping een verzameling bron- en doelobjecten die met elkaar zijn verbonden door een reeks transformaties. Deze transformaties bestaan uit een reeks regels die de gegevensstroom definiëren en hoe de gegevens in de doelen worden geladen.
Wat is foutopsporing?
Debugger is een erg handig hulpprogramma in Informatica. Wanneer we de mapping uitvoeren, voert Informatica de mapping uit op basis van de gedefinieerde transformatielogica.
De uitvoering ervan is vergelijkbaar met de uitvoering in batchmodus, waarbij we de tussenresultaten niet kunnen zien, of hoe de gegevens worden gewijzigd van transformatie naar transformatie.
Vaak krijgen we de gegevens in het doel die niet zijn zoals we hadden verwacht. Met behulp van debugger kunnen we kan analyseren hoe de gegevens binnen de mapping bewegen. We kunnen de gegevens rij voor rij analyseren in een debugger.
Voor het gebruik van debugger is een sessie-instantie vereist. We kunnen een bestaande sessie die eerder is gemaakt hergebruiken om de mapping uit te voeren, of we kunnen een nieuwe debug-sessie-instantie maken. Omdat tijdens het debuggen de gegevens uit de bron worden opgehaald, hebben we de mogelijkheid wat we met die gegevens moeten doen.
- Of we kunnen de gegevens weggooien, of
- De gegevens kunnen in het doel worden geladen
Deze opties kunnen worden ingesteld tijdens de configuratie van de debugger.
Om de debugger te monitoren, zijn er twee vensters in Informatica Designer
- Target venster
- Instantievenster
In het doelvenster wordt het doelrecord weergegeven dat in de doeltabel wordt ingevoegd. In het exemplaarvenster kunt u elk van de transformatie-instanties van de toewijzing selecteren. Daarna zijn alle poorten van die transformatie zichtbaar in dit venster en kunt u de gegevens analyseren en zien hoe deze worden getransformeerd.
Stappen voor het gebruik van debugger in een mapping
Informatica Designer biedt de mogelijkheid om de debugger te gebruiken voor het debuggen van toewijzingen. Het betekent dat we elke bestaande mapping kunnen debuggen en analyseren. De vereiste voor de debugger is dat de mapping een geldige mapping moet zijn.
In de oefening zullen we fouten opsporen in onze bestaande mapping “m_emp_emp_target” die we eerder hebben gemaakt. In onze brongegevens zullen we controleren op een bepaald record met de naam werknemer_naam ='SCOTT'. Voor Scott zullen we verifiëren dat de waarden worden opgehaald in Informatica en of het record correct naar het doel wordt gepusht of niet.
Onze brongegevens voor de “emp”-tabel zien er als volgt uit.
Voor de ename “SCOTT” zullen we met behulp van debugger controleren welke waarde voor de kolom “sal” (salaris) wordt opgehaald in de Informatica.
Stap 1) Open Informatica Designer en open in Designer de mapping “m_emp_emp_target” door er dubbel op te klikken. Het opent de bron van de qualifier en target definitietabellen die mapping in Mapping Designer tonen.
Stap 2) Start nu de debugger
- Klik op de toewijzingen menu optie
- Selecteer Debugger uit de opties
- Selecteer de optie “start debugger”.
Stap 3) Selecteer Volgende in het foutopsporingstoewijzingsvenster
Stap 4) In het volgende venster krijgt u een optie om het sessietype te selecteren. U kunt een bestaande sessie of een bestaande herbruikbare sessie gebruiken, of u kunt een exemplaar van een foutopsporingssessie maken.
Wanneer u de bestaande sessie gebruikt, zal Informatica de eerdere sessie gebruiken die u voor deze mapping hebt gemaakt. Wanneer u de optie Foutopsporingssessie maken selecteert, wordt er een nieuw sessie-exemplaar gemaakt voor foutopsporing.
In dit voorbeeld selecteren we een bestaande herbruikbare sessie-instantie. De integratieservice is de standaard.
- Selecteer de optie “gebruik een bestaand sessie-exemplaar”.
- Klik volgende
Stap 5) In het nieuwe venster zal Informatica u vragen de bestaande sessie voor foutopsporing te selecteren.
Selecteer de sessie “s_m_emp_emp_target” en klik op de knop Volgende
Stap 6) In het volgende venster zal er een optie zijn “Doelgegevens weggooien”. We selecteren deze optie omdat we tijdens het debuggen geen gegevens in onze doeltabel willen laden.
- Selecteer de optie ‘Doelgegevens weggooien’.
- Selecteer doeltabel “emp_target”
- Klik op de knop Voltooien.
Met de bovenstaande stappen hebben we de debugger geconfigureerd en gestart. Nu kunnen we de mapping debuggen.
Stap 7) De debugger is gestart, maar heeft geen rijen uit de bron opgehaald. Tijdens het debuggen worden de gegevens rij voor rij opgehaald uit de bron. Om te beginnen, haalt u de eerste rij op uit de bron
- Selecteer de toewijzingsoptie in het menu
- Selecteer debugger-optie
- Selecteer de optie Volgende exemplaar
Stap 8) In het instancevenster ziet u het eerste opgehaalde record uit de bronkwalificatie.
Als u het instance window analyseert, zal het de eerste record tonen – ename “SMITH” row. Dit is niet de record die we zoeken. Dus we kunnen naar de volgende instance.
Stap 9) Naar de volgende instantie gaan (naar de volgende rij gaan)
- Druk op de F10-knop (snelkoppeling om naar het volgende exemplaar te gaan, in plaats van naar de kaartoptie en vervolgens de debugger-optie te gaan)
Nadat u naar het volgende exemplaar bent gegaan, verandert het venster met gegevens in het exemplaar naar het volgende record.
Stap 10) Blijf op de F10-knop drukken totdat u het vereiste record van de “SCOTT”-werknemer bereikt. Zodra u dat punt bereikt, ziet het instantievenster eruit zoals hieronder weergegeven
Dit is het exemplaar waarnaar we op zoek waren. In het instantievenster kunnen we de gegevens dus analyseren. Of het nu correct komt, of dat er een waarde ontbreekt.
In de brongegevens waren de gegevens van de werknemer “SCOTT” als volgt: baan = “ANALYST”, manager-id = “7566”, salaris “3000.”
En in de debugger hebben we voor de werknemer "SCOTT" al deze details geanalyseerd en ze komen overeen met de brongegevens, dus we zijn er zeker van dat de records correct zijn opgehaald door de bronkwalificatie.
Breekpunt gebruiken in debugger
Wanneer we naar een bepaalde rij gegevens zoeken, zoals in het vorige voorbeeld, kunnen we in plaats van naar elk exemplaar van de brongegevens te gaan, breekpunten definiëren.
Een breekpunt is een voorwaarde of een set van een voorwaarde die is gedefinieerd tijdens de configuratie van het debuggen, zodat wanneer die voorwaarde waar wordt, de debugger stopt bij dat specifieke exemplaar.
Als we bijvoorbeeld deptno=20 in een breekpunt definiëren, zal de debugger telkens wanneer voor een record deze voorwaarde waar is, stoppen bij dat exemplaar van gegevens.
Stap 1) Om het breekpunt te configureren
- Ga naar het toewijzingsmenu
- Selecteer debugger-optie
- Selecteer de optie “breekpunten bewerken”.
Stap 2) U zult een venster “breekpunt bewerken” zien, zoals hieronder weergegeven
Stap 3) Klik in het breekpuntvenster op de knop Toevoegen
Stap 4) In het nieuwe venster
- Selecteer de SQ_EMP als exemplaar
- Selecteer de OK-knop
Stap 5) Het vorige venster ziet er uit zoals hieronder weergegeven
Stap 6) Je hebt een breekpunt, nu moet je de breekpuntvoorwaarde definiëren. Om de breekpuntvoorwaarde te definiëren
- Klik op het pictogram “Nieuwe voorwaarde toevoegen”.
Er verschijnt een nieuwe rij op het tabblad Conditie. Hier kunnen we de voorwaarde configureren.
Stap 7) In de conditietabel
- Selecteer in de vervolgkeuzelijst 'ENAME' (aangezien we fouten opsporen voor record ename='SCOTT')
- Voer in het waardevak de waarde “SCOTT” in.
- Selecteer de OK-knop
Stap 8) Start nu de debugger zoals vermeld in het vorige onderwerp
Ga naar het kaartmenu -> selecteer debugger-optie -> selecteer start-foutopsporing -> selecteer sessie-instantie
Stap 9) Zodra debugger is gestart
- Selecteer het toewijzingsmenu
- Selecteer debugger-optie
- Selecteer de optie Doorgaan
De debugger gaat naar elke instantie van de rij zelf en controleert op de voorwaarde “ename=SCOTT”. Voor het record waarvoor deze voorwaarde waar is, stopt de debugger bij die instantie. Dus als het gegevensvolume hoog is, kunt u in plaats van voor elk exemplaar van de bronrecord te gaan, een breekpunt configureren en direct naar dat record springen.
Zodra de Informatica klaar is met het doorlopen van alle instances, wordt de debugger automatisch gestopt. Als u de gegevens opnieuw wilt analyseren, moet u de debugger opnieuw starten.
Tracering in Informatica
Wanneer u een sessie uitvoert voor een mapping, wordt er een sessielogboek gegenereerd. Het bevat de details van de uitvoering, zoals
- Tijdstip van de evenementen
- Fout details
- Individuele transformatiestatistieken enz.
Binnen de transformaties van een mapping kunt u configureren en instellen hoeveel details Informatica naar het sessielogboek schrijft.
Er zijn vier niveaus die kunnen worden ingesteld voor tracering binnen de transformaties.
Verschillende logmodi | Activiteiten in verschillende logmodi |
---|---|
Normaal | In de normale modus schrijft Informatica over de transformatie-initialisatie en statusinformatie, aangetroffen fouten en vat de sessieresultaten samen. |
Beknopt | In Terse Mode schrijft Informatica alleen over initialisatie-informatie en foutdetails. Terse mode schrijft minimale details in het sessielogboek. |
Uitgebreide initialisatie | In de Verbose Initialization-modus schrijft Informatica de loggegevens op dezelfde manier als in de normale modus. Daarnaast worden ook de gebruikte gegevens- en indexbestanden en transformatiestatistieken beschreven. |
Uitgebreide gegevens | Bij uitgebreide gegevens schrijft Informatica een logboek vergelijkbaar met uitgebreide initialisatie, maar schrijft daarnaast ook alle gegevens die door de transformatie gaan. |
Note: Standaard is het traceringsniveau ingesteld op normaal, het wordt aanbevolen om de verbose datamodus alleen te gebruiken wanneer u de mapping debugt. De beknopte modus kan worden gebruikt om de prestaties te verbeteren, omdat deze de minimale details schrijft. Dus de overhead van het schrijven van log zal minimaal zijn.
Hoe u het traceerniveau in een transformatie instelt
Stap 1) Open de toewijzing in Informatica Designer waarvoor u het traceringsniveau wilt instellen
Stap 2) Double klik op de transformatie (Source Qualifier-transformatie “SQ_EMP”)
Het opent het bewerkingstransformatievenster.
Stap 3) In het bewerkingstransformatievenster
- Klik op het tabblad Eigenschappen
- Selecteer de optie Traceringsniveau
- Selecteer in de vervolgkeuzelijst Uitgebreide gegevens
- Selecteer de OK-knop
Stap 4) Sla de mapping op en voer de mapping uit (gebruik de sneltoets ctrl+s om de mapping op te slaan)
Stap 5) Om het logboek te bekijken
- Open werkstroommonitor en selecteer de sessie die in de laatste stap is uitgevoerd
- Klik op de optie “sessielogboek” om het sessielogboek voor de mapping te openen
Hierdoor wordt het sessielogboekvenster voor de mapping geopend
Het sessielogboek geeft details over hoe uw sessie is uitgevoerd. Het geeft de timingdetails weer wanneer de uitvoering is gestart en gestopt. Het geeft het basisidee over de prestaties. Het vermeldt welke databaseverbinding u gebruikt, welk parameterbestand u gebruikt. Het vat ook de bron en doelen samen door te vermelden hoeveel bronrecords zijn opgehaald, hoeveel records in het doel zijn geladen, etc.
Stap 6) Scroll naar beneden in het logboek. Daar ziet u aanvullende logboekgegevens, waaronder de gegevensrecords.
Op deze manier kunt u het traceringsniveau in toewijzingen instellen om de aanvullende details voor foutopsporing vast te leggen.
In deze zelfstudie hebt u geleerd hoe u de debugger instelt, configureert en uitvoert, en hoe u het traceringsniveau in toewijzingen instelt. Met deze opties kunt u fouten in de toewijzingen opsporen.