Debugger v Informatica: Session, Breakpoint, Verbose Data & Mapping
Jak jsme diskutovali v předchozích tématech, mapování je kolekce zdrojových a cílových objektů spojených dohromady sadou transformací. Tyto transformace se skládají ze sady pravidel, která definují datový tok a způsob načítání dat do cílů.
Co je Debugger?
Debugger je velmi užitečný nástroj v Informatica. Když provádíme mapování, Informatica provádí mapování na základě definované transformační logiky.
Jeho provádění je podobné provádění v dávkovém režimu, kde nevidíme mezivýsledky nebo jak se data mění z transformace na transformaci.
Mnohokrát dostáváme data do cíle, který není takový, jak jsme očekávali. S pomocí debuggeru jsme dokáže analyzovat, jak se data v rámci mapování pohybují. Můžeme analyzovat data řádek po řádku v debuggeru.
Použití ladicího programu vyžaduje instanci relace, ke spuštění mapování můžeme buď znovu použít existující relaci, která byla vytvořena dříve, nebo můžeme vytvořit novou instanci relace ladění. Vzhledem k tomu, že během ladění budou data načtena ze zdroje, máme možnost, co s těmito daty dělat.
- Buď můžeme data zahodit nebo
- Data lze načíst do cíle
Tyto možnosti lze nastavit během konfigurace ladicího programu.
Pro sledování ladicího programu jsou v Informatica Designer dvě okna
- Target okno
- Okno instance
V cílovém okně se zobrazí cílový záznam, který bude vložen do cílové tabulky. V okně instance můžete vybrat kteroukoli z instancí transformace mapování. Poté jsou v tomto okně viditelné všechny porty této transformace a můžete analyzovat data, jak se transformují.
Kroky použití debuggeru v mapování
Návrhář Informatica poskytuje funkci pro použití ladicího programu k ladění mapování. To znamená, že můžeme ladit a analyzovat jakékoli existující mapování. Požadavek na ladicí program je, že mapování by mělo být platné mapování.
Ve cvičení odladíme naše stávající mapování „m_emp_emp_target“, které jsme vytvořili dříve. V našich zdrojových datech zkontrolujeme konkrétní záznam zaměstnanec_jméno ='SCOTT'. Pro Scotta ověříme, zda jsou hodnoty načteny v Informatica a zda je záznam správně odeslán do cíle nebo ne.
Naše zdrojová data pro tabulku „emp“ vypadají takto.
Pro jméno „SCOTT“ pomocí debuggeru zkontrolujeme, jaká hodnota pro sloupec „sal“ (plat) je načtena v Informatica.
Krok 1) Otevřete Informatica designer a v designeru otevřete mapování „m_emp_emp_target“ dvojitým kliknutím na něj. Otevře tabulky kvalifikátorů a cílů s definicemi mapování v nástroji Mapping Designer.
Krok 2) Nyní spusťte debugger
- Klikněte na mapování možnost nabídky
- Z možností vyberte Debugger
- Vyberte možnost „spustit ladicí program“.
Krok 3) V okně mapování ladění vyberte další
Krok 4) V dalším okně získáte možnost vybrat typ relace. Můžete použít existující relaci, existující opakovaně použitelnou relaci nebo můžete vytvořit instanci relace ladění.
Když použijete existující relaci, Informatica použije dřívější relaci, kterou jste pro toto mapování vytvořili. Když vyberete vytvoření instance relace ladění, vytvoří se nová instance relace pro ladění.
V tomto příkladu vybereme existující opakovaně použitelnou instanci relace. Služba integrace bude výchozí.
- Vyberte možnost „použít existující instanci relace“.
- Klepněte na tlačítko Další
Krok 5) V novém okně vás Informatica vyzve k výběru existující relace pro ladění.
Vyberte relaci „s_m_emp_emp_target“ a klikněte na tlačítko Další
Krok 6) V dalším okně bude možnost „Vyhodit cílová data“, tuto možnost vybereme, protože během ladění nechceme načítat žádná data do naší cílové tabulky.
- Vyberte možnost „Zahodit cílová data“.
- Vyberte cílovou tabulku „emp_target“
- Klikněte na tlačítko Dokončit.
Pomocí výše uvedených kroků jsme nakonfigurovali a spustili ladicí program. Nyní můžeme odladit mapování.
Krok 7) Ladicí program se spustil, ale nenačetl žádné řádky ze zdroje. Během ladění načítá data ze zdroje řádek po řádku. Chcete-li začít, načtěte první řádek ze zdroje
- Vyberte možnost mapování z nabídky
- Vyberte možnost debuggeru
- Vyberte možnost další instance
Krok 8) V okně instance uvidíte první načtený záznam ze zdrojového kvalifikátoru.
Pokud analyzujete okno instance, zobrazí se první záznam – řádek s názvem „SMITH“. Toto není záznam, který hledáme. Můžeme tedy přejít k další instanci.
Krok 9) Přejít na další instanci (pro přesun na další řádek)
- Stiskněte tlačítko F10 (zkratka pro přechod na další instanci, místo přechodu na možnost mapování a poté možnost ladění)
Po přesunutí do další instance se okno dat v instanci změní na další záznam.
Krok 10) Stiskněte tlačítko F10, dokud se nedostanete k požadovanému záznamu zaměstnance „SCOTT“. Jakmile dosáhnete tohoto bodu, okno instance bude vypadat jako níže
Toto je příklad, který jsme hledali. Takže v okně instance můžeme analyzovat data. Zda přichází správně, nebo chybí nějaká hodnota.
Ve zdrojových datech byly podrobnosti o zaměstnanci „SCOTT“ jako job = „ANALYST“, id manažera = „7566“, sal „3000“.
A v debuggeru jsme pro zaměstnance „SCOTT“ analyzovali všechny tyto detaily a shodují se se zdrojovými daty, takže máme jistotu, že záznamy byly správně načteny kvalifikátorem zdroje.
Použití bodu přerušení v ladicím programu
Když hledáme konkrétní řádek dat jako v předchozím příkladu, pak namísto přechodu na každou instanci zdrojových dat můžeme definovat body přerušení.
Bod přerušení je stav nebo sada podmínek definovaných během konfigurace ladění tak, že když se tato podmínka stane pravdivou, ladicí program se zastaví v této konkrétní instanci.
Pokud například definujeme deptno=20 v bodě přerušení, pak kdykoli pro záznam, pokud je tato podmínka pravdivá, pak se ladicí program zastaví na této instanci dat.
Krok 1) Chcete-li nakonfigurovat bod přerušení
- Přejděte do nabídky mapování
- Vyberte možnost debuggeru
- Vyberte možnost „upravit body přerušení“.
Krok 2) Zobrazí se okno „upravit bod přerušení“, jak je uvedeno níže
Krok 3) V okně bodu přerušení klikněte na tlačítko Přidat
Krok 4) V novém okně
- Vyberte SQ_EMP jako instanci
- Vyberte tlačítko OK
Krok 5) Předchozí okno bude vypadat následovně
Krok 6) Máte bod přerušení, nyní musíte definovat podmínku bodu přerušení. Chcete-li definovat podmínku přerušení
- Klikněte na ikonu „přidat novou podmínku“.
Objeví se nový řádek na kartě podmínky. Zde můžeme konfigurovat podmínku.
Krok 7) V tabulce stavu
- V rozevíracím seznamu portů vyberte možnost „ENAME“ (protože ladíme záznam ename='SCOTT')
- Do pole hodnoty zadejte hodnotu „SCOTT“.
- Vyberte tlačítko OK
Krok 8) Nyní spusťte ladicí program, jak je uvedeno v předchozím tématu
Přejděte do nabídky mapování -> vyberte možnost debuggeru -> vyberte spustit ladicí program -> vyberte instanci relace
Krok 9) Jakmile je debugger spuštěn
- Vyberte nabídku mapování
- Vyberte možnost debuggeru
- Vyberte možnost pokračovat
Ladicí program přejde na každou instanci řádku sám a zkontroluje podmínku „ename=SCOTT“. Záznam, pro který je tato podmínka pravdivá, se ladicí program v této instanci zastaví. Takže když je objem dat vysoký, můžete místo toho, abyste šli pro každou instanci zdrojového záznamu, nakonfigurovat bod přerušení a můžete na tento záznam přímo přejít.
Jakmile Informatica dokončí všechny instance, ladicí program se automaticky zastaví. Pokud chcete data znovu analyzovat, musíte znovu restartovat ladicí program.
Trasování v Informatica
Kdykoli spustíte relaci pro mapování, vygeneruje se protokol relace. Skládá se z detailů provedení jako
- Načasování událostí
- Detaily chyby
- Individuální transformační statistiky atd.
Uvnitř transformací mapování můžete nakonfigurovat a nastavit, kolik podrobností Informatica zapisuje do protokolu relace.
Existují čtyři úrovně, které lze nastavit pro trasování uvnitř transformací.
Různé režimy protokolování | Činnosti v různých režimech protokolu |
---|---|
Normální | V normálním režimu Informatica píše o inicializaci transformace a stavových informacích, zjištěných chybách a shrnuje výsledky relací. |
Terse | V krátkém režimu Informatica píše pouze o inicializačních informacích a podrobnostech o chybách. Režim Terse zapisuje minimální podrobnosti do protokolu relace. |
Podrobná inicializace | V režimu podrobné inicializace zapisuje Informatica podrobnosti protokolu podobně jako v normálním režimu a navíc zapisuje také použité datové a indexové soubory a statistiky transformace. |
Podrobné údaje | V podrobných datech Informatica zapisuje protokol podobný podrobné inicializaci, ale navíc také zapisuje všechna data, která projdou transformací. |
Hodnocení: Ve výchozím nastavení je úroveň trasování nastavena na normální, režim podrobných dat se doporučuje používat pouze při ladění mapování. Stručný režim lze použít ke zlepšení výkonu, protože zapisuje minimální detaily. Takže režie zápisu protokolu bude minimální.
Jak nastavit úroveň trasování v transformaci
Krok 1) Otevřete mapování v Návrháři Informatica, pro které chcete nastavit úroveň trasování
Krok 2) Double klikněte na transformaci (transformace kvalifikátoru zdroje „SQ_EMP“)
Otevře se okno editace transformace.
Krok 3) V okně editace transformace
- Klepněte na kartu vlastností
- Vyberte možnost Úroveň trasování
- Z rozbalovací nabídky vyberte Podrobná data
- Vyberte tlačítko OK
Krok 4) Uložte mapování a spusťte mapování (pro uložení mapování použijte klávesovou zkratku ctrl+s)
Krok 5) Chcete-li zobrazit protokol
- Otevřená monitor pracovního postupu a vyberte relaci, která byla provedena v posledním kroku
- Kliknutím na možnost „protokol relace“ otevřete protokol relace pro mapování
Tím se otevře okno protokolu relace pro mapování
Protokol relace poskytuje podrobnosti o tom, jak byla vaše relace provedena. Poskytuje podrobnosti o načasování při spuštění a zastavení provádění. Poskytuje základní představu o výkonu. Uvádí, jaké připojení k databázi používáte, jaký soubor parametrů používáte. Shrnuje také zdroj a cíle tím, že uvádí, kolik zdrojových záznamů bylo načteno, kolik záznamů bylo načteno do cíle atd.
Krok 6) Přejděte v protokolu dolů a uvidíte zachycené další podrobnosti protokolu včetně datových záznamů.
Tímto způsobem můžete nastavit úroveň trasování v mapování pro zachycení dalších podrobností pro ladění.
V tomto tutoriálu jste se naučili, jak nastavit, nakonfigurovat a spustit debugger a jak nastavit úroveň trasování v mapování. Tyto možnosti vám poskytují možnost ladit mapování.