Transformacija usmjerivača u Informatici: primjer višestrukih uvjeta

⚡ Pametni sažetak

Transformacija usmjerivača u Informatici je aktivni, povezani objekt koji testira dolazne retke u odnosu na nekoliko uvjeta grupnog filtera odjednom i šalje svaki redak u odgovarajuću izlaznu grupu ili u zadanu grupu.

  • 🔀 Višestruki uvjeti: Jedan usmjerivač zamjenjuje lanac transformacija filtera testiranjem nekoliko uvjeta u jednom prolazu.
  • ???? Struktura grupe: Jedna ulazna grupa napaja korisnički definirane izlazne grupe plus jednu automatsku zadanu grupu.
  • 🗃️ Zadana grupa: Redci koji ne ispunjavaju nijedan uvjet stižu ovdje, tako da se odbijeni podaci i dalje mogu uhvatiti umjesto da se izgube.
  • 🧪 Obrađeni primjer: Grupa pod nazivom deptno_20 koja nosi uvjet deptno=20 učitava samo retke odjela 20 u EMP_TARGET.
  • ♻️ Preklapanjeping pravila: Redak koji zadovoljava dva uvjeta prosljeđuje se jednom svakoj odgovarajućoj izlaznoj grupi.
  • Učinkovitost: Izvor se čita jednom, što jedan Router čini jeftinijim od nekoliko Filter transformacija koje čitaju iste retke.

Transformacija usmjerivača u Informatici

Što je transformacija usmjerivača?

Transformacija usmjerivača je aktivna i povezana transformacija koja je slična transformaciji filtera, a koristi se za filtriranje izvornih podataka.

Dodatna funkcionalnost uz filtriranje jest da se odbačeni podaci (filtrirani podaci) također mogu prikupljati na karti.ping, kao i višestruki uvjeti filtriranja mogu se primijeniti za dobivanje više skupova podataka.

Na primjer, prilikom filtriranja podataka za deptno = 10, možemo dobiti i one zapise gdje deptno nije jednak 10. Dakle, transformacija usmjerivača daje više izlaznih grupa, a svaka izlazna grupa može imati vlastiti uvjet filtriranja.

Osim toga, postoji i zadana grupa. Ova zadana grupa sadrži one skupove zapisa koji ne zadovoljavaju nijedan od uvjeta grupe. Na primjer, ako ste stvorili dvije grupe za uvjete filtra deptno=10 i deptno=20, tada će se oni zapisi koji nemaju deptno 10 i 20 proslijediti u ovu zadanu grupu.

Ukratko, podatke koje odbace grupe filtera prikupljat će ova zadana grupa, a ponekad može postojati zahtjev za pohranu ovih odbijenih podataka. U takvim scenarijima, zadana izlazna grupa može biti korisna.

Kako bi se omogućilo više uvjeta filtriranja, transformacija Router-a pruža opciju grupiranja.

  • Postoji zadana ulazna grupa koja prima ulazne podatke.
  • Također postoji zadana izlazna grupa koja pruža sve one podatke koje nijedan uvjet filtra ne prosljeđuje.
  • Za svaki uvjet filtriranja, u transformaciji usmjerivača stvara se izlazna grupa. Možete povezati različite ciljeve s tim različitim grupama.

Komponente transformacije usmjerivača

Prije izrade karteping, korisno je znati četiri dijela koja Dizajner stvara za vas. Transformacija usmjerivača sastoji se od jedne ulazne grupe, skupa izlaznih grupa, portova unutar njih i uvjeta koji određuju kamo svaki red ide.

Sastavni Ono što se također
Ulazna grupa Jedina ulazna točka za transformaciju. Svaki dolazni redak stiže ovdje jednom, bez obzira na to koliko izlaznih grupa postoji.
Korisnički definirana izlazna grupa Grupa koju sami kreirate i imenujete, kao što je odjel_20. Svaka grupa ima vlastiti uvjet grupnog filtera.
Zadana izlazna grupa Automatski se stvara čim postoji prva korisnički definirana grupa. Nema uvjet filtriranja i ne može se uređivati ​​ili brisati.
Uvjet grupnog filtra Booleov izraz napisan u uređivaču izraza. Retci za koje se vrijednost TRUE prolaze kroz tu grupu.

Dizajner kopira definicije portova iz ulazne grupe u svaku izlaznu grupu, tako da portove nije potrebno ponovno stvarati grupu po grupu. Iz ovog dizajna slijede dva pravila:

  • Redovi se mogu duplicirati. Ako redak zadovoljava više od jednog uvjeta grupnog filtera, prosljeđuje se jednom svakoj grupi koja se podudara. To je uobičajeni razlog zašto cilj na kraju ima više redaka od izvora.
  • Redovi se mogu izostaviti. Ako zadana grupa ostane nepovezana, retci koji do nje dođu jednostavno nestaju iz cjevovoda, što je najbrži način za odbacivanje neželjenih podataka.

Transformacija usmjerivača u odnosu na transformaciju filtera

Oba objekta testiraju podatke u odnosu na uvjet i oba su aktivne transformacije, tako da se izbor između njih svodi na to koliko je uvjeta uključeno i jesu li odbačeni retci važni.

Točka usporedbe Transformacija filtra Transformacija usmjerivača
Uvjeti po objektu jedan Jedan ili više, svaki u svojoj grupi
Odbijeni redovi Odbačeno i nedostupno Prikupljeno u zadanoj grupi
Izlazne grupe Jedan izlazni cjevovod Jedan cjevovod po grupi, plus zadana grupa
Izvorni tekstovi Jedno očitavanje po filtru kada su uvjeti ulančani Jedno očitavanje za sve uvjete
Tipična upotreba Uklanjanje redaka koji nikada nisu potrebni Podjela jednog izvora na nekoliko ciljeva

Testiranje tri uvjeta s Filter transformacijama znači tri objekta, a u lančanom dizajnu isti izvorni retci se više puta evaluiraju. Jedan Router obavlja isti posao u jednom prolazu, zbog čega je općenito učinkovitija opcija kada se pojavi drugi uvjet. Za jedan uvjet odbacivanja, jednostavniji Transformacija filtra i dalje bolje odgovara.

Kako stvoriti transformaciju usmjerivača u Informatici

U donjem vodiču izrađuje se usmjerivač koji šalje zaposlenike odjela 20 u ciljnu tablicu. Slijedite devet koraka redom na mapi.ping Dizajner.

Korak 1) Napravite kartaping s izvorom „EMP“ i ciljem „EMP_TARGET“. Kartaping Dizajnersko platno zatim sadrži definiciju izvora, njegov kvalifikator izvora i definiciju cilja, kao što je prikazano u nastavku.

Kartaping Dizajnersko platno koje sadrži EMP izvor, njegov kvalifikator izvora i definiciju cilja EMP_TARGET

Korak 2) Zatim na kartiping

  1. Odaberite izbornik Transformacija
  2. Odaberite opciju za stvaranje

Putanja izbornika koja se koristi za pokretanje čarobnjaka označena je na sljedećoj snimci zaslona.

Izbornik transformacije otvoren je na kartiping Dizajner s odabranom opcijom Izradi

Korak 3) U prozoru za stvaranje transformacije

  1. Odaberite transformaciju usmjerivača
  2. Unesite naziv za transformaciju “rtr_deptno_10”
  3. Odaberite opciju Stvori

Korak 4) Transformacija usmjerivača bit će kreirana na mapipingOdaberite opciju "gotovo" u prozoru. Prozor "Stvori transformaciju" koji se koristi u oba koraka prikazan je dolje.

Prozor za stvaranje transformacije s odabranim usmjerivačem i unesenim nazivom rtr_deptno_10

Korak 5) Povucite i ispustite sve stupce iz Kvalifikator izvora do transformacije usmjerivača. Svaki port je sada povezan s novim objektom, kao što je prikazano na snimci zaslona.

Svi stupci kvalifikatora izvora uvučeni su u transformaciju usmjerivača rtr_deptno_10

Korak 6) Double kliknite na transformaciju Routera, a zatim u njeno svojstvo transformacije

  1. Odaberite karticu grupe
  2. Unesite naziv grupe “deptno_20”
  3. Kliknite na uvjet filtera grupe

Sljedeća je prikazana kartica Grupe s novo dodanom grupom.

Kartica Grupe transformacije Router s dodanom korisnički definiranom grupom deptno_20

Korak 7) U Uređivač izraza unesite uvjet filtera deptno=20 i odaberite gumb U redu. Uređivač koji sadrži ovaj uvjet prikazan je dolje.

Uređivač izraza koji sadrži uvjet grupnog filtera deptno=20 za grupu deptno_20

Korak 8) Odaberite gumb U redu u prozoru grupe. Uvjet se sada prikazuje uz grupu, kao što je prikazano na sljedećoj snimci zaslona.

Uvjet grupnog filtra spremljen za grupu deptno_20 u prozoru Uredi transformacije

Korak 9) Spojite portove iz grupe deptno_20 transformacije usmjerivača na portove ciljne tablice. Gotova mapaping ide od izvora kroz grupu do EMP_TARGET.

Portovi izlazne grupe deptno_20 povezani s ciljnom tablicom EMP_TARGET

Sada, kada izvršite ovu mapuping, filtrirani će se zapisi učitati u ciljnu tablicu.

Najbolje prakse i uobičajene pogreške transformacije usmjerivača

Kartaping Gore navedeno koristi jednu grupu koja skriva većinu ponašanja koje kasnije uzrokuje zahtjeve za podršku. Točke u nastavku pokrivaju što se mijenja kada se pojavi druga grupa.

  • Pazite na duplicirane retke. Grupni uvjeti nisu međusobno isključivi. Ako u jednoj grupi piše sal>1000, a deptno=20 u drugoj, to znači da se zaposlenik koji odgovara objema grupama učitava dva puta. Učinite uvjete isključivima ili namjerno prihvatite dupliciranje.
  • Spoji zadanu grupu kada odbacivanje bude važno. Redci koji ne zadovoljavaju nijedan uvjet gube se osim ako zadana grupa nije povezana s ciljem ili datotekom odbijanja. Reci koji se mogu provjeravati obično ih zadržavaju.
  • Imenujte grupe po pravilu, a ne po cilju. Primjer grupe deptno_20 se čita jasno; grupa pod nazivom group1 se ne čita. Imajte na umu da se sama transformacija u ovom vodiču zove rtr_deptno_10 dok grupa filtrira deptno 20, što je upravo ona vrsta neusklađenosti koju standard imenovanja sprječava.
  • Filtrirajte prije nego što odredite rutu gdje god možete. Redove koje nijedna grupa nikada neće htjeti jeftinije je ukloniti u upitu kvalifikatora izvora nego prenijeti u usmjerivač.
  • Ne tretirajte Router kao spoj. Dijeli jedan cjevovod na nekoliko. Ponovno spajanje grana zahtijeva transformaciju Unije, a kombiniranje dvaju različitih izvora zahtijeva Pretvorba stolara.

Grupa čiji uvjet vraća NULL umjesto TRUE ili FALSE tretira se kao nepodudarajuća, pa retci s null vrijednostima u testiranom stupcu spadaju u zadanu grupu. Eksplicitno rukovanje null vrijednostima u uvjetu izbjegava to iznenađenje tijekom podešavanje izvedbe i testiranje.

Pitanja i odgovori

Da. Integration Service procjenjuje svaki uvjet grupnog filtra u odnosu na svaki redak, tako da se redak koji zadovoljava dva uvjeta propušta jednom kroz svaku odgovarajuću grupu. Preklapanjeping uvjeti su uobičajeni uzrok neočekivanih dupliciranih redaka.

Redci usmjereni prema njemu odbacuju se iz cjevovoda. Ostavljanje zadane grupe nepovezanom standardni je način odbacivanja podataka koje nijedan uvjet ne želi, a to je ujedno i razlog zašto odbačeni retci ponekad nestaju nezapaženo.

Ne. Pojavljuje se automatski nakon što se stvori prva korisnički definirana grupa, nema uvjet grupnog filtra i Dizajner ne dopušta njegovo uređivanje ili uklanjanje. Samo korisnički definirane grupe mogu se dodavati, preimenovati ili brisati.

Točno jedan. Svaki redak ulazi kroz tu jednu ulaznu grupu, a Dizajner kopira njegove definicije portova u svaku izlaznu grupu tako da portove ne treba ponovno stvarati za svaku granu mape.ping.

S unijskom transformacijom, koja prihvaća nekoliko ulaznih grupa s odgovarajućim portovima i vraća jedan izlazni cjevovod. Usmjerivač razdvaja podatke; samo unija spaja grane natrag u jedan cilj.

Redoslijed povezanih izlaznih grupa postavlja redoslijed kojim Integration Service procjenjuje uvjete. Ne zaustavlja redak koji se podudara s kasnijim grupama, pa redoslijed utječe na redoslijed, a ne na to koji su retci odabrani.

AI asistenti profiliraju izvorne podatke kako bi otkrili kako se vrijednosti zapravo distribuiraju, a zatim predlažu uvjete podjele i označavaju preklapanja koja bi duplicirala retke. Savjetnici temeljeni na strojnom učenju također uočavaju stupce s visokim null stopama prije nego što ti retci tiho dosegnu zadanu grupu.

Copilot brzo izrađuje booleove izraze i odgovarajući SQL, što štedi vrijeme na ponavljajućim pravilima. Ne može vidjeti nazive vaših portova ili volumene podataka, stoga provjerite svaki prijedlog u uređivaču izraza prije spremanja mape.ping.

Sažmite ovu objavu uz: