Debuger w informatyce: sesja, punkt przerwania, pełne dane i mapowanie

Jak omówiliśmy w poprzednich tematach, mapowanie to zbiór obiektów źródłowych i docelowych połączonych ze sobą zestawem transformacji. Transformacje te składają się z zestawu reguł, które definiują przepływ danych i sposób ich ładowania do obiektów docelowych.

Co to jest debuger?

Debugger to bardzo przydatne narzędzie w Informatyce. Kiedy wykonujemy mapowanie, Informatica wykonuje mapowanie w oparciu o zdefiniowaną logikę transformacji.

Jego wykonanie jest podobne do wykonywania w trybie wsadowym, w którym nie możemy zobaczyć wyników pośrednich ani sposobu modyfikacji danych od transformacji do transformacji.

Wiele razy otrzymujemy dane w miejscu docelowym, które nie są takie, jak oczekiwaliśmy. Za pomocą debugera możemy może analizować sposób przemieszczania się danych w ramach mapowania. Możemy analizować dane wiersz po wierszu w debugerze.

Użycie debugera wymaga instancji sesji. Możemy albo ponownie wykorzystać istniejącą sesję, która została utworzona wcześniej, aby uruchomić mapowanie, albo możemy utworzyć nową instancję sesji debugowania. Ponieważ podczas debugowania dane będą pobierane ze źródła, mamy więc możliwość wyboru, co z tymi danymi zrobić.

  • Albo możemy odrzucić dane, albo
  • Dane można załadować do celu

Opcje te można ustawić podczas konfiguracji debugera.

Aby monitorować debugger, w projektancie Informatica znajdują się dwa okna

  • Target okno
  • Okno instancji

W oknie docelowym pokazany jest rekord docelowy, który zostanie wstawiony do tabeli docelowej. W oknie instancji możesz wybrać dowolne instancje transformacji mapowania. Następnie w tym oknie widoczne będą wszystkie porty tej transformacji i będziesz mógł analizować dane oraz sposób, w jaki ulegają one transformacji.

Kroki korzystania z debugera w mapowaniu

Projektant Informatica udostępnia funkcję używania debugera do debugowania mapowań. Oznacza to, że możemy debugować i analizować dowolne istniejące mapowanie. Wymaganiem dla debugera jest to, że mapowanie powinno być prawidłowym mapowaniem.

W ćwiczeniu będziemy debugować istniejące mapowanie „m_emp_emp_target”, które utworzyliśmy wcześniej. W naszych danych źródłowych sprawdzimy, czy istnieje konkretny rekord nazwa_pracownika ='SCOTT'. W przypadku Scotta sprawdzimy, czy wartości są pobierane w Informatica i czy rekord jest poprawnie przekazywany do miejsca docelowego, czy nie.

Nasze dane źródłowe dla tabeli „emp” wyglądają następująco.

Użyj debugera w mapowaniu

Dla nazwy „SCOTT” za pomocą debugera sprawdzimy, jaka wartość kolumny „sal” (wynagrodzenie) jest pobierana w Informatica.

Krok 1) Otwórz projektanta Informatica i w nim otwórz mapowanie „m_emp_emp_target” klikając je dwukrotnie. Spowoduje to otwarcie tabel definicji kwalifikatora źródłowego i celu pokazujących mapowanie wewnątrz Mapping Designer.

Użyj debugera w mapowaniu

Krok 2) Teraz uruchom debuger

  1. Kliknij na mapowania opcja menu
  2. Wybierz Debuger z opcji
  3. Wybierz opcję „uruchom debuger”.

Użyj debugera w mapowaniu

Krok 3) Wybierz opcję Dalej w oknie mapowania debugowania

Użyj debugera w mapowaniu

Krok 4) W następnym oknie pojawi się opcja wyboru typu sesji. Możesz użyć istniejącej sesji, istniejącej sesji wielokrotnego użytku lub utworzyć instancję sesji debugowania.

Kiedy użyjesz istniejącej sesji, Informatica użyje wcześniejszej sesji, którą utworzyłeś dla tego mapowania. Po wybraniu opcji Utwórz instancję sesji debugowania zostanie utworzona nowa instancja sesji do debugowania.

W tym przykładzie wybierzemy istniejącą instancję sesji wielokrotnego użytku. Usługa integracji będzie usługą domyślną.

  1. Wybierz opcję „użyj istniejącej instancji sesji”.
  2. Kliknij Następny

Użyj debugera w mapowaniu

Krok 5) W nowym oknie Informatica poprosi Cię o wybranie istniejącej sesji do debugowania.

Wybierz sesję „s_m_emp_emp_target” i kliknij przycisk Dalej

Użyj debugera w mapowaniu

Krok 6) W następnym oknie pojawi się opcja „Odrzuć dane docelowe”, wybieramy tę opcję, ponieważ podczas debugowania nie chcemy ładować żadnych danych do naszej tabeli docelowej.

  1. Wybierz opcję „Odrzuć dane docelowe”.
  2. Wybierz tabelę docelową „emp_target”
  3. Kliknij przycisk Zakończ.

Użyj debugera w mapowaniu

Wykonując powyższe kroki, skonfigurowaliśmy i uruchomiliśmy debuger. Teraz możemy debugować mapowanie.

Krok 7) Debuger został uruchomiony, ale nie pobrał żadnych wierszy ze źródła. Podczas debugowania pobiera dane ze źródła wiersz po wierszu. Aby rozpocząć pobieranie pierwszego wiersza ze źródła

  1. Wybierz opcję mapowania z menu
  2. Wybierz opcję debugera
  3. Wybierz opcję następnej instancji

Użyj debugera w mapowaniu

Krok 8) W oknie instancji zobaczysz pierwszy pobrany rekord z kwalifikatora źródłowego.

Użyj debugera w mapowaniu

Jeśli przeanalizujesz okno instancji, pokaże ono pierwszy rekord – wiersz ename „SMITH”. To nie jest rekord, którego szukamy. Możemy więc przejść do następnej instancji.

Krok 9) Aby przejść do następnej instancji (aby przejść do następnego wiersza)

  • Naciśnij przycisk F10 (skrót umożliwiający przejście do następnej instancji, zamiast przechodzić do opcji mapowania, a następnie opcji debugera)

Po przejściu do kolejnej instancji, okno danych w instancji zmieni się na kolejny rekord.

Użyj debugera w mapowaniu

Krok 10) Kontynuuj naciskanie przycisku F10, aż dojdziesz do wymaganego rekordu pracownika „SCOTT”. Po dotarciu do tego punktu okno instancji będzie wyglądać tak, jak pokazano poniżej

Użyj debugera w mapowaniu

To jest przypadek, którego szukaliśmy. Zatem w oknie instancji możemy analizować dane. Czy przychodzi prawidłowo, czy też brakuje jakiejś wartości.

W danych źródłowych szczegóły pracownika „SCOTT” wyglądały następująco: zadanie = „ANALIZATOR”, identyfikator kierownika = „7566”, sal „3000”.

W debugerze przeanalizowaliśmy wszystkie szczegóły dotyczące pracownika „SCOTT”. Są one zgodne z danymi źródłowymi, dzięki czemu mamy pewność, że rekordy zostały poprawnie pobrane przez kwalifikator źródła.

Używanie punktu przerwania w debugerze

Gdy szukamy konkretnego wiersza danych jak w poprzednim przykładzie, to zamiast przechodzić do każdej instancji danych źródłowych możemy zdefiniować punkty przerwania.

Punkt przerwania to warunek lub zestaw warunków zdefiniowany podczas konfiguracji debugowania w taki sposób, że gdy ten warunek stanie się prawdziwy, debuger zatrzymuje się w tej konkretnej instancji.

Na przykład, jeśli w punkcie przerwania zdefiniujemy deptno=20, to za każdym razem, gdy dla rekordu ten warunek jest spełniony, debuger zatrzyma się na tej instancji danych.

Krok 1) Aby skonfigurować punkt przerwania

  1. Przejdź do menu map
  2. Wybierz opcję debugera
  3. Wybierz opcję „edytuj punkty przerwania”.

Używanie punktu przerwania w debugerze

Krok 2) Zobaczysz okno „edytuj punkt przerwania”, jak pokazano poniżej

Używanie punktu przerwania w debugerze

Krok 3) W oknie punktu przerwania kliknij przycisk dodawania

Używanie punktu przerwania w debugerze

Krok 4) W nowym oknie

  1. Wybierz SQ_EMP jako instancję
  2. Wybierz przycisk OK

Używanie punktu przerwania w debugerze

Krok 5) Poprzednie okno będzie wyglądać jak pokazano poniżej

Używanie punktu przerwania w debugerze

Krok 6) Masz punkt przerwania, teraz musisz zdefiniować warunek punktu przerwania. Aby zdefiniować warunek punktu przerwania

  1. Kliknij ikonę „dodaj nowy warunek”.

Używanie punktu przerwania w debugerze

Pojawi się nowy wiersz w zakładce warunku. Tutaj możemy skonfigurować warunek.

Krok 7) W tabeli warunków

  1. W menu rozwijanym portów wybierz opcję „ENAME” (ponieważ debugujemy rekord ename='SCOTT')
  2. W polu wartości wpisz „SCOTT”.
  3. Wybierz przycisk OK

Używanie punktu przerwania w debugerze

Krok 8) Teraz uruchom debuger, jak wspomniano w poprzednim temacie

Przejdź do menu mapowania -> wybierz opcję debugera -> wybierz opcję Uruchom debuger -> wybierz instancję sesji

Krok 9) Po uruchomieniu debugera

  1. Wybierz menu mapowania
  2. Wybierz opcję debugera
  3. Wybierz opcję kontynuacji

Używanie punktu przerwania w debugerze

Debuger przejdzie do każdego wystąpienia wiersza i sprawdzi warunek „ename=SCOTT”. Rekord, dla którego ten warunek jest spełniony, debuger zatrzyma się w tej instancji. Jeśli więc ilość danych jest duża, zamiast przechodzić do każdego wystąpienia rekordu źródłowego, możesz skonfigurować punkt przerwania i bezpośrednio przejść do tego rekordu.

Używanie punktu przerwania w debugerze

Gdy Informatica zakończy przeglądanie wszystkich instancji, debuger zostanie automatycznie zatrzymany. Jeśli chcesz ponownie przeanalizować dane, musisz ponownie uruchomić debuger.

Śledzenie w informatyce

Za każdym razem, gdy wykonujesz sesję dla mapowania, generowany jest dziennik sesji. Składa się on ze szczegółów wykonania, takich jak:

  • Harmonogram wydarzeń
  • Szczegóły błędu
  • Indywidualne statystyki transformacji itp.

W ramach transformacji mapowania można skonfigurować i ustawić ilość szczegółów, jakie Informatica ma zapisywać w dzienniku sesji.

Istnieją cztery poziomy, które można ustawić dla śledzenia wewnątrz transformacji.

Różne tryby dziennika Aktywności w różnych trybach dziennika
Normalna W trybie normalnym Informatica zapisuje informacje o inicjalizacji transformacji, jej statusie, napotkanych błędach i podsumowuje wyniki sesji.
Lakoniczny W trybie Terse, Informatica zapisuje tylko informacje o inicjalizacji i szczegóły błędów. Tryb Terse zapisuje minimalne szczegóły w dzienniku sesji.
Pełna inicjalizacja W trybie szczegółowej inicjalizacji Informatica zapisuje szczegóły dziennika podobnie jak w trybie normalnym, a dodatkowo zapisuje także informacje o użytych plikach danych i indeksów oraz statystykach transformacji.
Szczegółowe dane W danych pełnych Informatica zapisuje dziennik podobny do inicjalizacji pełnej, ale dodatkowo zapisuje także wszystkie dane, które przechodzą przez transformację.

Note: Domyślnie poziom śledzenia jest ustawiony na normalny, zaleca się używanie trybu verbose data tylko podczas debugowania mapowania. Tryb zwięzły może być używany do poprawy wydajności, ponieważ zapisuje minimalne szczegóły. Tak więc narzut zapisu dziennika będzie minimalny.

Jak ustawić poziom śledzenia w transformacji

Krok 1) Otwórz w programie Informatica Designer mapowanie, dla którego chcesz ustawić poziom śledzenia

Ustaw poziom śledzenia w transformacji

Krok 2) Double kliknij transformację (transformacja kwalifikatora źródła „SQ_EMP”)

Otworzy się okno edycji transformacji.

Ustaw poziom śledzenia w transformacji

Krok 3) W oknie edycji transformacji

  1. Kliknij kartę właściwości
  2. Wybierz opcję Poziom śledzenia
  3. Z menu rozwijanego wybierz Pełne dane
  4. Wybierz przycisk OK

Ustaw poziom śledzenia w transformacji

Krok 4) Zapisz mapowanie i wykonaj mapowanie (użyj skrótu klawiaturowego ctrl+s, aby zapisać mapowanie)

Krok 5) Aby wyświetlić dziennik

  1. Otwarte monitor pracy i wybierz sesję, która została wykonana w ostatnim kroku
  2. Kliknij opcję „dziennik sesji”, aby otworzyć dziennik sesji dla mapowania

Ustaw poziom śledzenia w transformacji

Spowoduje to otwarcie okna dziennika sesji dla mapowania

Dziennik sesji zawiera szczegółowe informacje o tym, jak Twoja sesja została wykonana. Zawiera szczegóły dotyczące czasu rozpoczęcia i zakończenia wykonywania. Zawiera podstawowe informacje o wydajności. Wspomina, z którego połączenia z bazą danych korzystasz, jakiego pliku parametrów używasz. Podsumowuje również informacje o źródle i celach, podając liczbę pobranych rekordów źródłowych, liczbę rekordów załadowanych do celu itd.

Ustaw poziom śledzenia w transformacji

Krok 6) Przewiń dziennik w dół, aby zobaczyć dodatkowe szczegóły dziennika, w tym rekordy danych.

Ustaw poziom śledzenia w transformacji

W ten sposób można ustawić poziom śledzenia w mapowaniach, aby uchwycić dodatkowe szczegóły na potrzeby debugowania.

W tym samouczku nauczyłeś się ustawiać, konfigurować i uruchamiać debuger oraz ustawiać poziom śledzenia w mapowaniach. Opcje te umożliwiają debugowanie mapowań.