Transformace kvalifikátoru zdroje v Informatica s PŘÍKLADEM
⚡ Chytré shrnutí
Transformace kvalifikátoru zdroje v aplikaci Informatica představuje řádky, které Integration Service čte z relačního zdroje nebo plochého souboru, a umožňuje vývojáři přepsat výchozí dotaz, filtrovat, řadit a deduplikovat tato data.

Co je transformace kvalifikátoru zdroje?
Transformace kvalifikátoru zdroje je aktivní, propojená transformace, která představuje řádky, které Integration Service čte při spuštění relace. Kdykoli je do mapy přidán relační zdroj nebo plochý soubor.ping, je vyžadována transformace Kvalifikátor zdroje a Návrhář ji automaticky přidá. Pomocí Kvalifikátoru zdroje můžete definovat a přepsat způsob načítání dat ze zdroje.
Transformace také převádí nativní datové typy zdroje na transformační datové typy Informatica, takže každá transformace umístěná za ní pracuje s jednou platformně neutrální sadou typů.
Protože kvalifikátor zdroje vytváří dotaz, který se skutečně dostane do databáze, je to první místo, kam se při mapaping přečte více řádků nebo sloupců, než potřebuje. Následující příklad zužuje dotaz na čtyři sloupce.
Jak upravit kvalifikátor zdroje v programu Informatica
V následujícím příkladu upravíme kvalifikátor zdroje naší mapy.ping „m_emp_emp_target“, takže místo vrácení všech sloupců vrací pouze vybrané sloupce.
Krok 1) Otevřít mapuping „m_emp_emp_target“ v mapěping Návrhář. Mapaping otevře se se zdrojem EMP, kvalifikátorem zdroje SQ_EMP a cílem EMP_TARGET na plátně.
Krok 2) Double- klikněte na transformaci Kvalifikátor zdroje „SQ_EMP“. Otevře se okno Upravit transformace pro daný objekt. Poté
- Klikněte na kartu Vlastnosti
- Klepněte na tlačítko SQL Možnost Upravit dotaz, otevře se okno editoru SQL
Na kartě Vlastnosti je uveden řádek dotazu SQL zobrazený níže.
Krok 3) V okně editoru SQL
- Zadejte následující dotaz
SELECT EMPNO, ENAME, JOB, MGR FROM EMP
Hodnocení – ze zdroje vybíráme sloupce EMPNO, ENAME, JOB a MGR, takže jsme ve výběrovém dotazu ponechali pouze ty
- Vyberte tlačítko OK
Editor SQL nyní uchovává vlastní dotaz místo vygenerovaného.
Krok 4) V okně Upravit transformace
- V nabídce vyberte kartu Porty
- Na kartě Porty uvidíte všechny porty. Ponechte pouze porty EMPNO, ENAME, JOB a MGR a ostatní porty smažte.
Karta Porty zobrazuje seznam všech portů nesených transformací před jejím smazáním.
Krok 5) Po odstranění portů klikněte na tlačítko OK. V seznamu zůstanou pouze čtyři zbývající porty.
Nyní v okně Upravit transformace znovu klikněte na kartu Vlastnosti a uvidíte pouze data, která jste vybrali.
Po kliknutí na tlačítko „OK“ se otevře okno editoru SQL.
- Potvrdí se, že vybraná data jsou správná a připravená k načtení do cílové tabulky.
- Klikněte na tlačítko OK pro další pokračování
V potvrzovacím okně se zopakují čtyři sloupce, které budou nyní přečteny.
Uložit mapuping (pomocí klávesové zkratky Ctrl+S) a spusťte workflowPo spuštění budou do cíle načteny pouze vybrané sloupce.
Tímto způsobem můžete v kvalifikátoru zdroje přepsat, které sloupce je třeba načíst ze zdroje, a to je jediný způsob, jak řídit, které konkrétní sloupce se v mapě objeví.ping.
Vlastnosti kvalifikátoru zdroje
K určení, jaký typ zdrojových dat je třeba transformovat a odeslat do cílové tabulky, můžete použít různé vlastnosti kvalifikátoru zdroje.
- Zdrojový filtr – Pomocí vlastnosti Zdrojový filtr můžete snížit počet zdrojových záznamů. Pokud chcete například načíst pouze zaměstnance oddělení č. 10, můžete do vlastnosti Zdrojový filtr zadat podmínku filtru č. oddělení=10 a spustit data. Do podmínky uveďte název tabulky a název portu a vynechejte klíčové slovo WHERE – filtr obsahující WHERE relaci selže.
- Počet seřazených portů – V transformaci Kvalifikátor zdroje můžete také seřadit vstupní záznamy podle pozice portu. Integrační služba přidá do výchozího dotazu klauzuli ORDER BY, která počítá porty od začátku transformace, takže data jsou již seřazena, když dosáhnou transformací uvnitř mapy.ping.
Protože data lze třídit podle jednoho portu nebo podle několika portů, musíte zadat počet portů, které budou použity při třídění. Pokud zadáte hodnotu 1, budou seřazena pouze data typu empno. Pokud zadáte hodnotu 2, budou data seřazena podle typu empno i ename.
- Vyberte možnost Odlišné – pomocí této vlastnosti můžete ze zdroje načíst pouze odlišné záznamy. Když vyberete možnost Vybrat odlišné, integrační služba přidá příkaz SELECT DISTINCT, takže kvalifikátor zdroje načte pouze odlišné kombinace zdrojových dat.
Níže uvedená karta Vlastnosti obsahuje tyto možnosti spolu se zbytkem seznamu vlastností.
Úplný seznam vlastností dostupných pro relační kvalifikátor zdroje je shrnut v tabulce níže.
| Vlastnictví | Co to dělá |
|---|---|
| SQL dotaz | Nahrazuje výchozí dotaz generovaný službou Integration Service. Vlastní dotaz přepíše uživatelem definované spojení a zdrojový filtr. |
| Uživatelsky definované spojení | Poskytuje podmínku použitou ke spojení dat z několika zdrojů reprezentovaných stejným kvalifikátorem zdroje. |
| Zdrojový filtr | Poskytuje podmínku filtru, kterou Integration Service použije při dotazování na řádky. |
| Počet seřazených portů | Počet sloupců použitých k řazení řádků načtených z relačních zdrojů, přidaných do dotazu jako ORDER BY. |
| TracÚroveň | Množství podrobností zapsaných do protokolu relace pro tuto transformaci. |
| Vyberte možnost Odlišné | Vrátí pouze jedinečné řádky přidáním SELECT DISTINCT do dotazu. |
| Před SQL | Příkazy se spustí ve zdrojové databázi předtím, než Integration Service zdroj přečte. |
| Post-SQL | Příkazy se spustí ve zdrojové databázi poté, co Integration Service zapíše do cíle. |
| Výstup je deterministický | Deklaruje, že zdroj vrací stejná data mezi spuštěními, pokud je vstup konzistentní. |
| Výstup je opakovatelný | Deklaruje, že zdroj vrací řádky ve stejném pořadí mezi spuštěními, což umožňuje službě Integration Service přeskočit přípravu k obnovení. |
Pravidla a pokyny pro přepsání SQL kvalifikátorem zdroje
Přepsání SQL je účinné, protože nahrazuje vše, co Návrhář vygeneroval, a proto se také tiše poruší, když jsou ignorována níže uvedená pravidla.
- Nejprve připojte porty. Před zadáním dotazu propojte všechny vstupní a výstupní porty, které chcete použít, protože vygenerovaný dotaz je sestaven z připojených portů.
- Udržujte seznam SELECT v pořadí portů. Příkaz SELECT musí vypsat názvy portů v pořadí, v jakém se objevují v transformaci. Pokud se pořadí neshoduje, relace může selhat nebo vrátit neočekávané výsledky.
- Kvalifikujte každý sloupec. Každý název sloupce musí mít předponu tabulky, pohledu nebo synonyma, ke kterému patří, například ORDERS.ORDER_ID.
- Před úpravou vygenerujte. Kliknutím na tlačítko Generovat SQL se zobrazí výchozí dotaz, který již obsahuje zdrojový filtr a klauzuli sorted-ports, takže přepsání lze vytvořit z funkčního příkazu.
- Ověřte platnost tvrzení. Editor SQL má tlačítko Ověřit, které spustí dotaz a oznámí, zda je syntaxe správná, ještě před spuštěním relace.
- Citujte vyhrazená slova. Všechna rezervovaná slova databáze použitá v dotazu musí být uzavřena v uvozovkách.
- Sledujte přednost. Vlastní dotaz přepíše zdrojový filtr a počet seřazených portů a dotaz SQL zadaný do Zasedání vlastnosti přepíší jak podmínku filtru, tak dotaz definovaný v mapě.ping.
Pro Microsoft SQL Server U zdrojů existuje jedno další pravidlo: počet sloupců v příkazu SELECT musí odpovídat počtu portů v transformaci, jinak relace při načítání řádků selže.
Jak spojit dva zdroje pomocí jednoho kvalifikátoru zdroje
Jeden kvalifikátor zdroje může číst více než jednu tabulku. Pokud jsou dvě související tabulky ze stejného relačního zdroje propojeny s jedním kvalifikátorem zdroje, integrační služba je spojí v rámci zdrojového dotazu, nikoli v rámci mapy.ping, což znamená, že práci vykoná databáze a do relace se odešle méně řádků.
Výchozí spojení je vnitřní ekvijoin zapsaný do klauzule WHERE jako Source1.column_name = Source2.column_name. Aby bylo toto spojení vygenerováno, musí mít spojené sloupce vztah primární klíč-cizí klíč a odpovídající datové typy. Pokud importovaná metadata takový vztah nemají, můžete jej vytvořit v Zdrojový analyzátor propojením odpovídajících sloupců dvou zdrojových definic.
Pokud relace chybí nebo spojení musí být vnější spojení, použijte místo toho vlastnost Uživatelem definované spojení. Podmínka zadaná zde nahradí informace o spojení obsažené v metadatech a Integration Service je připojí k vygenerovanému dotazu.
Je třeba si uvědomit dvě omezení. Obě tabulky musí pocházet ze stejného relačního zdroje a zdroje různých typů – plochý soubor a tabulka nebo dvě různé databáze – musí být spojeny pomocí Truhlářská transformace namísto.
Kvalifikátor zdroje vs. filtr vs. transformace spojovače
Tři objekty mohou všechny redukovat nebo kombinovat řádky a výběr nesprávného objektu je častou příčinou pomalých relací. Níže uvedená tabulka je zobrazuje vedle sebe.
| Vzhled | Kvalifikátor zdroje | Transformace filtru | Truhlářská transformace |
|---|---|---|---|
| Kde práce probíhá | Ve zdrojové databázi, uvnitř vygenerovaného dotazu | V integrační službě, řádek po řádku | V integrační službě s použitím mezipaměti |
| Hlavní účel | Čtení zdrojových řádků, přepsání dotazu, filtrování, řazení, deduplikace | Odstraňte řádky, které nesplňují jednu podmínku | Sloučení dvou potrubí do jedné sady řádků |
| Typy zdrojů | Relační tabulky a ploché soubory z jednoho zdroje | Jakákoli data z potrubí | Heterogenní zdroje, včetně plochých souborů a různých databází |
| Připojte se k podpoře | Vnitřní ekvijoin nebo uživatelem definované spojení v rámci jednoho relačního zdroje | Nevyplněno | Normální, hlavní vnější, detailní vnější a plné vnější spojení |
| Řádky protínající síť | Pouze řádky, které dotaz vrací | Každý zdrojový řádek se přečte jako první | Každý zdrojový řádek se přečte jako první |
Praktické pravidlo je jednoduché: filtrujte a spojujte se, jakmile to zdroj dovolí, a sáhněte po Filtr nebo Joiner pouze pro práci, kterou zdrojová databáze nemůže vykonat. Vložení podmínek do zdrojového kvalifikátoru je jedním z nejlevnějších možných výher během ladění výkonu.








