Debugger in Informatica: Breakpoint e modalità dettagliata

⚡ Riepilogo intelligente

Il debugger in Informatica esegue una mappaping Riga per riga all'interno del Designer, in modo che il valore contenuto in ogni porta dopo ogni trasformazione diventi visibile, anziché solo il risultato finale scritto nella destinazione.

  • 🧪 Istanza della sessione: Il debugger necessita di una sessione esistente, di una sessione riutilizzabile o di una nuova istanza di sessione di debug.
  • 🛡️ Target sicurezza: Scegliendo Scarta i dati di destinazione la tabella di destinazione rimane invariata mentre la mappaping viene analizzato.
  • 🔎 Due finestre: La finestra di destinazione mostra la riga che sta per essere inserita; la finestra di istanza mostra ogni porta di una trasformazione selezionata.
  • ⏭️ passo di rigaping: Il comando Next Instance, o la scorciatoia da tastiera F10, fa avanzare il debugger di una riga alla volta.
  • 🚩 Punti di interruzione: Una condizione come ENAME uguale a SCOTT interrompe l'esecuzione direttamente sulla riga desiderata.
  • 📝 Traclivelli di ing: Le opzioni Normal, Terse, Verbose Initialization e Verbose Data controllano il livello di dettaglio contenuto nel registro di sessione.

Debugger in Informatica

Come abbiamo discusso negli argomenti precedenti, un carta geograficaping È una raccolta di oggetti sorgente e di destinazione collegati tra loro da un insieme di trasformazioni. Queste trasformazioni consistono in un insieme di regole che definiscono il flusso dei dati e le modalità di caricamento dei dati nelle destinazioni.

Cos'è il debugger?

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

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

Molte volte i dati che otteniamo nel target non sono quelli che ci aspettavamo. Con l'aiuto del Debugger, possiamo analizzare come i dati si muovono all'interno della mappa.ping, riga per riga.

Il debugger richiede un'istanza di sessione. Possiamo riutilizzare una sessione esistente creata in precedenza per eseguire la mappapingoppure creare una nuova istanza di sessione di debug. Poiché i dati vengono recuperati dalla sorgente durante il debug, siamo noi a decidere cosa succede a tali dati.

  • Scarta i dati, oppure
  • Carica i dati nel target

Queste opzioni possono essere impostate durante la configurazione del debugger.

Per monitorare il debugger, in Informatica Designer sono presenti due finestre.

  • Target finestra
  • Finestra dell'istanza

Nella finestra di destinazione viene mostrato il record di destinazione che verrà inserito nella tabella di destinazione. Nella finestra di istanza è possibile selezionare una qualsiasi delle istanze di trasformazione della mappa.pingTutte le porte di quella trasformazione sono quindi visibili in questa finestra, in modo da poter analizzare come vengono trasformati i dati.

Procedura per utilizzare il debugger in una mappaping

Informatica Designer fornisce la funzionalità per utilizzare il debugger per eseguire il debug della mappapings. Significa che possiamo eseguire il debug e analizzare qualsiasi mappa esistenteping. Il requisito per il Debugger è che la mappaping dovrebbe essere una mappa validaping.

In questo esercizio, eseguiremo il debug della nostra mappa esistenteping "m_emp_emp_target" che abbiamo creato in precedenza. Nei nostri dati di origine, verificheremo la presenza di un record specifico di employee_name = 'SCOTT'. Per Scott, controlleremo se i valori vengono recuperati in Informatica e se il record viene inviato correttamente alla destinazione.

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

Esempi di righe della tabella sorgente emp, incluso il record SCOTT utilizzato in questo esercizio.

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

Passo 1) Apri Informatica Designer e apri la mappaping “m_emp_emp_target” facendo doppio clic su di esso. Si apriranno le tabelle di definizione del qualificatore di origine e della destinazione che mostrano la mappaping Mappa internaping Progettista.

Mappaping m_emp_emp_target aperto in Mappaping Progettista con il suo qualificatore di origine e il suo obiettivo

Passo 2) Ora avvia il debugger

  1. Clicca sulla mappapingopzione di menu s
  2. Seleziona Debugger dalle opzioni
  3. Selezionare l'opzione "Avvia debugger".

Mappapingmenu s con Debugger e Avvia Debugger selezionati in Designer

Passo 3) Seleziona Avanti nella mappa di debugping finestra.

Schermata iniziale della mappa di debugping procedura guidata con il pulsante Avanti

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

Quando si utilizza una sessione esistente, Informatica riutilizza la sessione creata in precedenza per questa mappa.pingQuando si seleziona "Crea un'istanza di sessione di debug", viene creata una nuova istanza di sessione per il debug.

In questo esempio, selezioneremo un'istanza di sessione esistente. Il servizio di integrazione sarà quello predefinito.

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

Schermata del tipo di sessione con l'opzione "istanza di sessione esistente" selezionata

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

Seleziona la sessione “s_m_emp_emp_target” e fai clic sul pulsante Avanti.

La procedura guidata elenca la sessione riutilizzabile s_m_emp_emp_target per la selezione

Passo 6) Nella finestra successiva sarà presente l'opzione "Ignora dati di destinazione". Selezioniamo questa opzione perché durante il debug non vogliamo caricare alcun dato nella nostra tabella di destinazione.

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

Target schermata delle opzioni con la casella "Scarta i dati di destinazione" selezionata per emp_target

Con i passaggi sopra descritti, abbiamo configurato e avviato il debugger. Ora possiamo eseguire il debug della mappa.ping.

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

  1. Seleziona la mappapingopzione dal menu
  2. Seleziona l'opzione Debugger
  3. Seleziona l'opzione Istanza successiva

Mappapingmenu che mostra il comando Istanza successiva che recupera una riga

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

Finestra di istanza che mostra la prima riga recuperata per il dipendente SMITH

Se si analizza la finestra dell'istanza, verrà visualizzato il primo record: la riga con il nome "SMITH". Questo non è il record che stiamo cercando, quindi possiamo passare all'istanza successiva.

Passo 9) Per passare alla riga successiva, premi il tasto F10. Questa è la scorciatoia per andare all'istanza successiva invece di usare la mappa.pingl'opzione s e poi l'opzione Debugger.

Dopo il passaggio all'istanza successiva, i dati nella finestra dell'istanza verranno aggiornati al record successivo.

La finestra dell'istanza è stata aggiornata con la seguente riga sorgente dopo aver premuto F10

Passo 10) Continua a premere il tasto F10 finché non raggiungi il record desiderato del dipendente "SCOTT". Una volta raggiunto quel punto, la finestra dell'istanza apparirà come mostrato di seguito.

Finestra dell'istanza bloccata sulla riga SCOTT con job, manager id e stipendio

Questa è l'istanza che stavamo cercando. Nella finestra dell'istanza possiamo analizzare i dati, verificando se vengono visualizzati correttamente o se manca qualche valore.

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

Nel Debugger, per il dipendente "SCOTT", abbiamo analizzato tutti questi dettagli e questi corrispondono ai dati di origine, quindi siamo certi che i record siano stati recuperati correttamente dal Source Qualifier.

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 breakpoint è 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 arresta in quel particolare punto.

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

È possibile creare un punto di interruzione anche in base a una condizione globale anziché a una singola trasformazione, e il suo tipo può essere impostato su errore anziché su dati, interrompendo così l'esecuzione ogni volta che tale trasformazione genera un errore.

Passo 1) Per configurare il punto di interruzione

  1. Vai alla mappapingmenu
  2. Seleziona l'opzione Debugger
  3. Seleziona l'opzione "Modifica punti di interruzione".

Mappapingmenu s con il comando Modifica punti di interruzione evidenziato

Passo 2) Verrà visualizzata una finestra "Modifica punti di interruzione" come mostrato di seguito.

Aprire la finestra Modifica punti di interruzione prima di aggiungere qualsiasi punto di interruzione.

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

Aggiungi il pulsante nella finestra Modifica punti di interruzione utilizzato per creare un punto di interruzione

Passo 4) Nella nuova finestra

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

Finestra di dialogo per la selezione dell'istanza con SQ_EMP selezionata come istanza del punto di interruzione

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

Finestra Modifica punti di interruzione che elenca il nuovo punto di interruzione SQ_EMP

Passo 6) Hai impostato un punto di interruzione e ora devi definirne la condizione. Per farlo, fai clic sull'icona "Aggiungi nuova condizione".

Aggiungi l'icona Nuova condizione nella scheda Condizioni della finestra del punto di interruzione

Nella scheda "Condizioni" comparirà una nuova riga. Qui è possibile configurare la condizione.

Passo 7) Nella tabella delle condizioni

  1. Nel menu a tendina Porta, selezionare l'opzione "ENAME", poiché stiamo eseguendo il debug per il record ename='SCOTT'
  2. Nella casella del valore, inserire il valore “SCOTT”
  3. Seleziona il pulsante OK

Riga di condizione configurata con porta ENAME e valore SCOTT

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

Vai alla mappapingmenu s → seleziona l'opzione Debugger → seleziona Avvia Debugger → seleziona l'istanza della sessione.

Passo 9) Una volta avviato il debugger

  1. Seleziona la mappapingmenu
  2. Seleziona l'opzione Debugger
  3. Seleziona l'opzione Continua

Mappapingmenu con il comando Continua che esegue fino al punto di interruzione successivo

Il debugger passerà a ogni istanza di una riga e controllerà la condizione "ename=SCOTT", fermandosi sul record per cui la condizione è vera. Quindi, quando il volume dei dati è elevato, un breakpoint consente di saltare direttamente a quel record invece di passare al successivo.ping attraverso ogni riga sorgente.

Il debugger si è fermato sulla riga SCOTT dopo che la condizione del punto di interruzione è stata soddisfatta

Una volta che Informatica ha terminato di analizzare tutte le istanze, il debugger si arresta automaticamente. Se si desidera analizzare nuovamente i dati, è necessario riavviare il debugger.

Tracing in Informatica

Ogni volta che esegui una sessione per una mappaping, viene generato un registro di sessione. Esso contiene i dettagli dell'esecuzione come

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

All'interno delle trasformazioni di una mappapingÈ possibile configurare il livello di dettaglio che Informatica deve inserire nel log di sessione.

Ci sono quattro livelli che possono essere impostati per tracall'interno delle trasformazioni.

Traclivello di ing Cosa scrive Informatica nel registro di sessione
Normale - Normal In modalità normale, Informatica registra informazioni sull'inizializzazione e sullo stato della trasformazione, sugli errori riscontrati e riassume i risultati della sessione.
Reverse In modalità Terse, Informatica scrive solo informazioni di inizializzazione e dettagli sugli errori. La modalità Terse scrive nel log della sessione solo i dettagli minimi necessari.
Inizializzazione dettagliata Nella modalità di inizializzazione dettagliata, Informatica scrive i dettagli del log in modo simile alla modalità normale e, in aggiunta, anche informazioni sui file di dati e di indice utilizzati e sulle statistiche di trasformazione.
Dati dettagliati Nella modalità Dati dettagliati, Informatica scrive un log simile a quello dell'inizializzazione dettagliata, ma in aggiunta registra anche ogni singola riga di dati che attraversa la trasformazione.

Verbose Data segnala anche i punti in cui il servizio di integrazione tronca i dati di tipo stringa per adattarli alla precisione di una colonna.

Nota: Per impostazione predefinita, il file tracIl livello di dettaglio è impostato su Normale. Si consiglia di utilizzare la modalità Dati dettagliati solo durante il debug della mappa.pingLa modalità "concisa" può essere utilizzata per migliorare le prestazioni, poiché scrive solo i dettagli minimi, riducendo al minimo il sovraccarico dovuto alla scrittura del log.

Come impostare TracLivello di trasformazione in una trasformazione

Passo 1) Apri la mappaping nell'Informatica Designer per cui si desidera impostare il traclivello di ing.

Mappaping aperto in Informatica Designer pronto per un tracvariazione di livello

Passo 2) Double-fare clic sulla trasformazione, in questo caso la trasformazione Source Qualifier “SQ_EMP”.

Si aprirà la finestra Modifica trasformazioni.

Finestra Modifica trasformazioni aperta per il qualificatore sorgente SQ_EMP

Passo 3) Nella finestra Modifica trasformazioni

  1. Fai clic sulla scheda Proprietà
  2. Seleziona il TracOpzione Livello di ing
  3. Dal menu a tendina selezionare Dati dettagliati
  4. Seleziona il pulsante OK

scheda Proprietà con la TracImposta il livello di dettaglio su Dati dettagliati

Passo 4) Salva la mappaping e eseguire la mappaping. Utilizza la scorciatoia da tastiera Ctrl+S per salvare la mappaping.

Passo 5) Per visualizzare il registro

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

Monitor del flusso di lavoro: menu contestuale (clic con il pulsante destro del mouse) con l'opzione Registro sessione

Si aprirà la finestra del registro di sessione per la mappa.ping.

Il registro di sessione fornisce dettagli sull'esecuzione della sessione: i tempi di inizio e fine dell'esecuzione, un'indicazione di base sulle prestazioni, la connessione al database e il file di parametri utilizzati, il numero di record di origine recuperati e il numero di record caricati nella destinazione.

Intestazione del registro di sessione che elenca tempi, connessioni e conteggi di origine e destinazione.

Passo 6) Scorri verso il basso nel registro e potrai visualizzare ulteriori dettagli, inclusi i record di dati.

Parte inferiore del registro di sessione che mostra i singoli record di dati acquisiti in modalità dettagliata tracING

In questo modo è possibile impostare il traclivello di ing nella mappapingper acquisire i dettagli aggiuntivi per il debug.

In questo tutorial hai imparato come impostare, configurare ed eseguire il Debugger e come impostare il traclivello di ing nella mappapings. Queste opzioni ti consentono di eseguire il debug della mappapings.

DOMANDE FREQUENTI

La mappaping deve essere valido prima. Porte non connesse, un collegamento interrotto o un'espressione non valida impediscono l'apertura della procedura guidata, quindi il progettista segnala l'errore di convalida e la mappaping deve essere corretto.

L'anteprima dei dati mostra le righe non elaborate direttamente dalla tabella di origine o di destinazione. Passaggioping mostra le stesse righe dopo ogni trasformazione, rivelando quindi dove cambia un valore piuttosto che cosa contiene la tabella.

Scrive ogni riga che passa nella mappapingDi conseguenza, il file di log cresce rapidamente e l'esecuzione rallenta. Una volta individuato il problema, ripristinare il livello Normale o Conciso per ridurre al minimo il sovraccarico.

No. Una volta che l'esecuzione termina o viene interrotta, la sessione si chiude e l'analisi riprende dalla prima riga. Una condizione sul valore di interesse evita il passaggioping attraverso nuovamente i documenti precedenti.

Gli strumenti di qualità dei dati basati sull'apprendimento automatico analizzano ogni esecuzione e segnalano le colonne la cui distribuzione cambia tra i caricamenti, indicando la trasformazione che ha modificato il valore prima di qualsiasi intervento manuale.ping comincia.

Copilot non può collegarsi al Designer, ma può generare Python o script di shell che analizzano un log dettagliato, contano le righe rifiutate in base al codice di errore ed estraggono i dati delle righe intorno al punto di errore.

Informatica Intelligent Cloud Services offre un'anteprima dei dati sulle singole trasformazioni e sui log a livello di job anziché una sessione di debug passo passo, in modo che l'ispezione delle righe avvenga nella mappa.ping progettista.

Il servizio di integrazione scrive il file sul nodo che ha eseguito la sessione, nella directory di log di sessione configurata. L'apertura del file dal monitor richiede l'accesso all'agente di log, quindi non è necessario alcun accesso al server.

Riassumi questo post con: