Debugger in Informatica: sessione, punto di interruzione, dati dettagliati e mappatura

Come discusso negli argomenti precedenti, una mappatura è una raccolta di oggetti di origine e di destinazione collegati tra loro da una serie di trasformazioni. Queste trasformazioni consistono in una serie di regole che definiscono il flusso di dati e il modo in cui i dati vengono caricati nelle destinazioni.

Cos'è il debugger?

Il debugger è un'utilità molto utile in Informatica. Quando eseguiamo la mappatura, Informatica esegue la mappatura in base alla logica di trasformazione definita.

La sua esecuzione è simile all'esecuzione in modalità batch in cui non possiamo vedere i risultati intermedi o il modo in cui i dati vengono modificati da una trasformazione all'altra.

Molte volte otteniamo i dati nel target che non sono quelli che ci aspettavamo. Con l'aiuto del debugger, noi può analizzare come i dati si muovono all'interno della mappatura. Possiamo analizzare i dati riga per riga in un debugger.

L'uso del debugger richiede un'istanza di sessione, possiamo riutilizzare una sessione esistente creata in precedenza per eseguire la mappatura oppure possiamo creare una nuova istanza di sessione di debug. Poiché durante il debug i dati verranno recuperati dalla sorgente, abbiamo la possibilità di cosa fare con tali dati.

  • O possiamo scartare i dati oppure
  • I dati possono essere caricati nella destinazione

Queste opzioni possono essere impostate durante la configurazione del debugger.

Per monitorare il debugger, ci sono due finestre in Informatica Designer

  • Target finestra
  • Finestra dell'istanza

Nella finestra di destinazione viene mostrato il record di destinazione che verrà inserito nella tabella di destinazione. Nella finestra dell'istanza è possibile selezionare una qualsiasi delle istanze di trasformazione della mappatura. Successivamente, tutte le porte di quella trasformazione saranno visibili in questa finestra e potrai analizzare i dati e come vengono trasformati.

Passaggi per utilizzare il debugger in una mappatura

Informatica Designer fornisce la funzionalità per utilizzare il debugger per eseguire il debug delle mappature. Significa che possiamo eseguire il debug e analizzare qualsiasi mappatura esistente. Il requisito per il debugger è che la mappatura sia valida.

Nell'esercizio, eseguiremo il debug della nostra mappatura esistente "m_emp_emp_target" che abbiamo creato in precedenza. Nei nostri dati di origine, controlleremo un record particolare di Employee_name ='SCOTT'. Per Scott, verificheremo che i valori vengano recuperati in Informatica e se il record venga inviato correttamente alla destinazione o meno.

I nostri dati di origine per la tabella "emp" sono simili a questi.

Utilizzare Debugger in una mappatura

Per il nome "SCOTT", utilizzando il debugger controlleremo che quale valore per la colonna "sal" (stipendio) venga recuperato in Informatica.

Passo 1) Apri Informatica designer e nel designer apri la mappatura “m_emp_emp_target” facendo doppio clic su di essa. Aprirà le tabelle di definizione del qualificatore sorgente e del target che mostrano la mappatura all'interno di Mapping Designer.

Utilizzare Debugger in una mappatura

Passo 2) Ora avvia il debugger

  1. Clicca sul mappature opzione di menu
  2. Seleziona Debugger dalle opzioni
  3. Seleziona l'opzione "avvia debugger".

Utilizzare Debugger in una mappatura

Passo 3) Seleziona Avanti nella finestra di mappatura del debug

Utilizzare Debugger in una mappatura

Passo 4) Nella finestra successiva, avrai la possibilità di selezionare il tipo di sessione. È possibile utilizzare la sessione esistente, la sessione riutilizzabile esistente oppure creare un'istanza della sessione di debug.

Quando utilizzi la sessione esistente, Informatica utilizzerà la sessione precedente creata per questa mappatura. Quando selezioni l'istanza di creazione della sessione di debug, verrà creata una nuova istanza della sessione per il debug.

In questo esempio selezioneremo l'istanza della sessione riutilizzabile esistente. Il servizio di integrazione sarà quello predefinito.

  1. Seleziona l'opzione "utilizza un'istanza di sessione esistente".
  2. Fare clic su Avanti

Utilizzare Debugger in una mappatura

Passo 5) Nella nuova finestra, Informatica ti chiederà di selezionare la sessione esistente per il debug.

Selezionare la sessione "s_m_emp_emp_target" e fare clic sul pulsante successivo

Utilizzare Debugger in una mappatura

Passo 6) Nella finestra successiva ci sarà un'opzione "Scarta dati di destinazione", selezioniamo questa opzione poiché durante il debug non vogliamo caricare alcun dato nella nostra tabella di destinazione.

  1. Seleziona l'opzione "Elimina dati target".
  2. Seleziona la tabella di destinazione "emp_target"
  3. Fare clic sul pulsante Fine.

Utilizzare Debugger in una mappatura

Con i passaggi precedenti, abbiamo configurato e avviato il debugger. Ora possiamo eseguire il debug della mappatura.

Passo 7) Il debugger è stato avviato, ma non ha recuperato alcuna riga dall'origine. Durante il debug recupera i dati dalla sorgente riga per riga. Per iniziare a recuperare la prima riga dall'origine

  1. Seleziona l'opzione mappature dal menu
  2. Seleziona l'opzione debugger
  3. Seleziona l'opzione dell'istanza successiva

Utilizzare Debugger in una mappatura

Passo 8) Nella finestra dell'istanza vedrai il primo record recuperato dal qualificatore di origine.

Utilizzare Debugger in una mappatura

Se analizzi la finestra dell'istanza, verrà mostrato il primo record – riga ename “SMITH”. Questo non è il record che stiamo cercando. Quindi possiamo passare all'istanza successiva.

Passo 9) Per passare all'istanza successiva (per passare alla riga successiva)

  • Premi il pulsante F10 (scorciatoia per passare all'istanza successiva, invece di andare all'opzione di mappatura e quindi all'opzione debugger)

Dopo essere passati all'istanza successiva, i dati nella finestra dell'istanza passeranno al record successivo.

Utilizzare Debugger in una mappatura

Passo 10) Continua a premere il pulsante F10 fino a raggiungere il record richiesto del dipendente "SCOTT". Una volta raggiunto quel punto, la finestra dell'istanza sarà come mostrata di seguito

Utilizzare Debugger in una mappatura

Questo è l'esempio che stavamo cercando. Quindi nella finestra dell'istanza possiamo analizzare i dati. Se arriva correttamente o manca qualche valore.

Nei dati di origine, i dettagli del dipendente "SCOTT" erano simili a job = "ANALYST", manager id = "7566", sal "3000".

E nel debugger, per il dipendente "SCOTT" abbiamo analizzato tutti questi dettagli e corrispondono ai dati di origine, quindi siamo certi che i record sono stati recuperati correttamente dal qualificatore di origine.

Utilizzo del punto di interruzione nel debugger

Quando cerchiamo una particolare riga di dati come nell'esempio precedente, invece di andare su ogni istanza dei dati di origine possiamo definire dei punti di interruzione.

Un punto di interruzione è una condizione o un insieme di condizioni definite durante la configurazione del debug in modo tale che quando tale condizione diventa vera il debugger si ferma su quella particolare istanza.

Ad esempio, se definiamo deptno=20 in un punto di interruzione, ogni volta che per un record questa condizione è vera, il debugger si fermerà su quell'istanza di dati.

Passo 1) Per configurare il punto di interruzione

  1. Vai al menu mappature
  2. Seleziona l'opzione debugger
  3. Seleziona l'opzione "modifica punti di interruzione".

Utilizzo del punto di interruzione nel debugger

Passo 2) Verrà visualizzata una finestra "modifica punto di interruzione" come mostrato di seguito

Utilizzo del punto di interruzione nel debugger

Passo 3) Nella finestra del punto di interruzione, fare clic sul pulsante Aggiungi

Utilizzo del punto di interruzione nel debugger

Passo 4) Nella nuova finestra

  1. Seleziona SQ_EMP come istanza
  2. Selezionare il pulsante OK

Utilizzo del punto di interruzione nel debugger

Passo 5) La finestra precedente apparirà come mostrato di seguito

Utilizzo del punto di interruzione nel debugger

Passo 6) Hai un punto di interruzione, ora devi definire la condizione del punto di interruzione. Per definire la condizione del punto di interruzione

  1. Fare clic sull'icona "aggiungi nuova condizione".

Utilizzo del punto di interruzione nel debugger

Apparirà una nuova riga nella scheda delle condizioni. Qui possiamo configurare la condizione.

Passo 7) Nella tabella delle condizioni

  1. Nel menu a discesa della porta, seleziona l'opzione "ENAME" (poiché stiamo eseguendo il debug del record ename='SCOTT')
  2. Nella casella del valore, immettere il valore "SCOTT".
  3. Selezionare il pulsante OK

Utilizzo del punto di interruzione nel debugger

Passo 8) Ora avvia il debugger come menzionato nell'argomento precedente

Vai al menu di mappatura -> seleziona l'opzione del debugger -> seleziona avvia debugger -> seleziona l'istanza della sessione

Passo 9) Una volta avviato il debugger

  1. Seleziona il menu mappature
  2. Seleziona l'opzione debugger
  3. Seleziona l'opzione continua

Utilizzo del punto di interruzione nel debugger

Il debugger andrà a ciascuna istanza della riga stessa e controllerà la condizione "ename=SCOTT". Il record per il quale questa condizione è vera, il debugger si fermerà su quell'istanza. Pertanto, quando il volume dei dati è elevato, invece di andare per ciascuna istanza del record di origine è possibile configurare un punto di interruzione e passare direttamente a quel record.

Utilizzo del punto di interruzione nel debugger

Una volta che Informatica ha terminato di esaminare tutte le istanze, il debugger viene arrestato automaticamente. Se vuoi analizzare nuovamente i dati, devi riavviare nuovamente il debugger.

Tracciamento in Informatica

Ogni volta che esegui una sessione per una mappatura, viene generato un registro di sessione. Consiste nei dettagli dell'esecuzione come

  • Tempistica degli eventi
  • Dettagli circa l'errore
  • Statistiche di trasformazione individuali, ecc.

All'interno delle trasformazioni di una mappatura, è possibile configurare e impostare la quantità di dettagli che Informatica scrive nel registro di sessione.

Ci sono quattro livelli che possono essere impostati per il tracciamento all'interno delle trasformazioni.

Diverse modalità di registro Attività in diverse modalità di registro
Normale In modalità normale, Informatica scrive informazioni sull'inizializzazione della trasformazione e sullo stato, sugli errori riscontrati e riepiloga i risultati delle sessioni.
Reverse In Terse Mode, Informatica scrive solo informazioni di inizializzazione e dettagli di errore. La modalità Terse scrive dettagli minimi nel registro di sessione.
Inizializzazione dettagliata In modalità di inizializzazione dettagliata, Informatica scrive i dettagli del registro in modo simile alla modalità normale e inoltre scrive informazioni sui file di dati e indice utilizzati, nonché sulle statistiche di trasformazione.
Dati dettagliati Nei dati verbosi, Informatica scrive il log in modo simile all'inizializzazione verbose ma in più scrive anche tutti i dati che passano attraverso la trasformazione.

Note:: Per impostazione predefinita, il livello di tracciamento è impostato su normale, si consiglia di utilizzare la modalità dati verbose solo quando si esegue il debug della mappatura. La modalità terse può essere utilizzata per migliorare le prestazioni, poiché scrive i dettagli minimi. Quindi il sovraccarico di scrittura del log sarà minimo.

Come impostare il livello di traccia in una trasformazione

Passo 1) Apri la mappatura in Informatica Designer per la quale desideri impostare il livello di traccia

Imposta il livello di tracciamento in una trasformazione

Passo 2) Double fare clic sulla trasformazione (trasformazione del qualificatore di origine “SQ_EMP”)

Si aprirà la finestra di modifica della trasformazione.

Imposta il livello di tracciamento in una trasformazione

Passo 3) Nella finestra di modifica della trasformazione

  1. Fare clic sulla scheda Proprietà
  2. Seleziona l'opzione Livello di traccia
  3. Dal menu a discesa seleziona Dati dettagliati
  4. Selezionare il pulsante OK

Imposta il livello di tracciamento in una trasformazione

Passo 4) Salva la mappatura ed esegui la mappatura (usa la scorciatoia da tastiera ctrl+s per salvare la mappatura)

Passo 5) Per visualizzare il registro

  1. Apri monitor del flusso di lavoro e seleziona la sessione che è stata eseguita nell'ultimo passaggio
  2. Fare clic sull'opzione "registro sessione" per aprire il registro della sessione per la mappatura

Imposta il livello di tracciamento in una trasformazione

Si aprirà la finestra del registro della sessione per la mappatura

Il registro di sessione fornisce i dettagli su come è stata eseguita la sessione. Fornisce i dettagli temporali di quando l'esecuzione è iniziata e interrotta. Fornisce l'idea di base sulle prestazioni. Menziona quale connessione al database stai utilizzando, quale file di parametri stai utilizzando. Riepiloga anche informazioni su origine e destinazioni menzionando quanti record di origine sono stati recuperati, quanti record sono stati caricati nella destinazione, ecc.

Imposta il livello di tracciamento in una trasformazione

Passo 6) Scorri verso il basso nel registro e potrai vedere ulteriori dettagli del registro catturato, compresi i record di dati.

Imposta il livello di tracciamento in una trasformazione

In questo modo è possibile impostare il livello di tracciamento nei mapping per acquisire dettagli aggiuntivi per il debug.

In questo tutorial hai imparato come impostare, configurare ed eseguire il debugger e come impostare il livello di traccia nelle mappature. Queste opzioni offrono la possibilità di eseguire il debug delle mappature.