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.
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.
Krok 2) Teraz uruchom debuger
- Kliknij na mapowania opcja menu
- Wybierz Debuger z opcji
- Wybierz opcję „uruchom debuger”.
Krok 3) Wybierz opcję Dalej w oknie mapowania debugowania
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ą.
- Wybierz opcję „użyj istniejącej instancji sesji”.
- Kliknij Następny
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
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.
- Wybierz opcję „Odrzuć dane docelowe”.
- Wybierz tabelę docelową „emp_target”
- Kliknij przycisk Zakończ.
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
- Wybierz opcję mapowania z menu
- Wybierz opcję debugera
- Wybierz opcję następnej instancji
Krok 8) W oknie instancji zobaczysz pierwszy pobrany rekord z kwalifikatora źródłowego.
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.
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
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
- Przejdź do menu map
- Wybierz opcję debugera
- Wybierz opcję „edytuj punkty przerwania”.
Krok 2) Zobaczysz okno „edytuj punkt przerwania”, jak pokazano poniżej
Krok 3) W oknie punktu przerwania kliknij przycisk dodawania
Krok 4) W nowym oknie
- Wybierz SQ_EMP jako instancję
- Wybierz przycisk OK
Krok 5) Poprzednie okno będzie wyglądać jak pokazano poniżej
Krok 6) Masz punkt przerwania, teraz musisz zdefiniować warunek punktu przerwania. Aby zdefiniować warunek punktu przerwania
- Kliknij ikonę „dodaj nowy warunek”.
Pojawi się nowy wiersz w zakładce warunku. Tutaj możemy skonfigurować warunek.
Krok 7) W tabeli warunków
- W menu rozwijanym portów wybierz opcję „ENAME” (ponieważ debugujemy rekord ename='SCOTT')
- W polu wartości wpisz „SCOTT”.
- Wybierz przycisk OK
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
- Wybierz menu mapowania
- Wybierz opcję debugera
- Wybierz opcję kontynuacji
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.
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
Krok 2) Double kliknij transformację (transformacja kwalifikatora źródła „SQ_EMP”)
Otworzy się okno edycji transformacji.
Krok 3) W oknie edycji transformacji
- Kliknij kartę właściwości
- Wybierz opcję Poziom śledzenia
- Z menu rozwijanego wybierz Pełne dane
- Wybierz przycisk OK
Krok 4) Zapisz mapowanie i wykonaj mapowanie (użyj skrótu klawiaturowego ctrl+s, aby zapisać mapowanie)
Krok 5) Aby wyświetlić dziennik
- Otwarte monitor pracy i wybierz sesję, która została wykonana w ostatnim kroku
- Kliknij opcję „dziennik sesji”, aby otworzyć dziennik sesji dla mapowania
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.
Krok 6) Przewiń dziennik w dół, aby zobaczyć dodatkowe szczegóły dziennika, w tym rekordy danych.
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ń.