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.

  • 🧩 Automatický objekt: Kvalifikátor zdroje se zobrazí automaticky vždy, když je do mapy přidána relační tabulka nebo plochý soubor.ping.
  • __ Přepsání SQL: Vlastní dotaz nahradí vygenerovaný SELECT a má přednost před zdrojovým filtrem a nastavením seřazených portů.
  • 🔢 Pořadí portu: Seznam SELECT musí pojmenovat porty v pořadí, v jakém se objeví v transformaci, jinak může relace selhat.
  • 🎯 Zdrojový filtr: Filtrační podmínka ořezává řádky v databázi a klíčové slovo WHERE musí být vynecháno.
  • 🔗 Jednoprůchodové spojení: Související tabulky z jednoho relačního zdroje lze spojit v rámci jednoho kvalifikátoru zdroje namísto spojovače.
  • Less provoz: Práce odeslaná do zdrojového dotazu přesune do relace méně řádků napříč sítí.

Transformace kvalifikátoru zdroje v Informatica

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ě.

Mapaping m_emp_emp_target otevřít v Informatica Mapping návrhář

Krok 2) Double- klikněte na transformaci Kvalifikátor zdroje „SQ_EMP“. Otevře se okno Upravit transformace pro daný objekt. Poté

  1. Klikněte na kartu Vlastnosti
  2. 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.

Karta Vlastnosti kvalifikátoru zdroje SQ_EMP s vybraným řádkem dotazu SQL

Krok 3) V okně editoru SQL

  1. 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

  2. Vyberte tlačítko OK

Editor SQL nyní uchovává vlastní dotaz místo vygenerovaného.

Okno editoru SQL s vlastním dotazem SELECT pro kvalifikátor zdroje

Krok 4) V okně Upravit transformace

  1. V nabídce vyberte kartu Porty
  2. 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.

Karta Porty v okně Upravit transformace se seznamem všech portů kvalifikátoru zdroje

Krok 5) Po odstranění portů klikněte na tlačítko OK. V seznamu zůstanou pouze čtyři zbývající porty.

Karta Porty po odstranění nežádoucích portů kvalifikátoru zdroje

Nyní v okně Upravit transformace znovu klikněte na kartu Vlastnosti a uvidíte pouze data, která jste vybrali.

Karta Vlastnosti zobrazující uložené přepsání dotazu SQL na kvalifikátoru zdroje

Po kliknutí na tlačítko „OK“ se otevře okno editoru SQL.

  1. Potvrdí se, že vybraná data jsou správná a připravená k načtení do cílové tabulky.
  2. 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.

Okno editoru SQL potvrzující přepsaný dotaz před mapovánímping je uložen

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.

  1. 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.
  2. 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.

  3. 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í.

Karta Vlastnosti kvalifikátoru zdroje s filtrem zdroje, počtem seřazených portů a výběrem jedinečných portů

Ú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.

Nejčastější dotazy

Příkazy před spuštěním SQL se spouštějí ve zdrojové databázi předtím, než Integration Service přečte zdrojovou databázi. Příkazy po spuštění SQL se spouštějí ve stejné databázi poté, co Integration Service dokončí zápis do cíle.

TracÚroveň ing určuje, kolik detailů transformace zapisuje do protokolu relace. Vyšší úroveň pomáhá při diagnostice neočekávaného počtu řádků, ale zvětšuje protokol a zpomaluje běh, proto ji později snižte.

Editor SQL má tlačítko Ověřit. Spustí příkaz pro vybraný zdroj dat ODBC a oznámí, zda je syntaxe správná, takže chyby se zobrazí v návrháři, nikoli v neúspěšné relaci.

Ano. Parametry a proměnné jsou povoleny v dotazu, uživatelsky definovaném spojení, zdrojovém filtru a příkazech před a po relaci. Řetězcové parametry uzavřete v uvozovkách, které zdrojová databáze očekává.

Deklarují, že zdroj vrací mezi jednotlivými spuštěními stejná data a ve stejném pořadí. Pokud jsou obě hodnoty nastaveny, Integration Service přeskočí přípravu zdrojových dat k obnově, což zkrátí spuštění.

Ne. Přepsání dotazů, uživatelem definovaná spojení, zdrojové filtry a příkazy před nebo po relaci jsou vkládány do databáze, takže se vztahují na relační zdroje. Kvalifikátor zdroje v plochém souboru řídí hlavně... traca portní objednávka.

Asistenti s umělou inteligencí čtou plány dotazů a historii úloh, aby navrhli predikáty, indexy a prořezávání sloupců. Poradci založené na strojovém učení v moderních databázích tyto návrhy hodnotí, ale vývojář stále ověřuje každou změnu, než se dostane do relace.

Copilot dokáže vytvořit návrh příkazu SELECT a zrychlit opakující se seznamy sloupců. Nezná pořadí portů vaší transformace, proto před uložením ověřte vygenerovaný příkaz na kartě Porty.

Shrňte tento příspěvek takto: