Transformarea routerului în Informatica: Exemplu de condiții multiple

⚡ Rezumat inteligent

Transformarea routerului în Informatica este un obiect activ, conectat, care testează rândurile primite în funcție de mai multe condiții de filtrare a grupului simultan și trimite fiecare rând către grupul de ieșire corespunzător sau către grupul implicit.

  • 🔀 Condiții multiple: Un router înlocuiește un lanț de transformări de filtru prin testarea mai multor condiții într-o singură trecere.
  • 📦 Structura grupului: Un singur grup de intrări alimentează grupurile de ieșiri definite de utilizator plus un grup implicit automat.
  • 🗃️ Grup implicit: Rândurile care nu îndeplinesc fiecare condiție ajung aici, astfel încât datele respinse pot fi totuși capturate în loc să fie pierdute.
  • 🧪 Exemplu lucrat: Un grup numit deptno_20 care are condiția deptno=20 încarcă în EMP_TARGET doar rândurile departamentului 20.
  • ♻️ suprapuneping reguli: Un rând care îndeplinește două condiții este transmis o dată fiecărui grup de ieșire corespunzător.
  • ⚡ Eficiență: Sursa este citită o singură dată, ceea ce face ca un Router să fie mai ieftin decât mai multe transformări Filter care citesc aceleași rânduri.

Transformare router în Informatica

Ce este transformarea routerului?

Transformarea routerului este o transformare activă și conectată, similară transformării Filtru, utilizată pentru a filtra datele sursă.

Funcționalitatea suplimentară oferită pe lângă filtrare este aceea că datele eliminate (datele filtrate) pot fi, de asemenea, colectate pe hartă.ping, precum și condițiile multiple de filtrare pot fi aplicate pentru a obține mai multe seturi de date.

De exemplu, atunci când filtrăm datele pentru deptno = 10, putem obține și acele înregistrări în care deptno este diferit de 10. Așadar, transformarea Router oferă mai multe grupuri de ieșire, iar fiecare grup de ieșire poate avea propria condiție de filtrare.

În plus, există și un grup implicit. Acest grup implicit conține acele seturi de înregistrări care nu îndeplinesc niciuna dintre condițiile de grup. De exemplu, dacă ați creat două grupuri pentru condițiile de filtrare deptno=10 și respectiv deptno=20, atunci acele înregistrări care nu au deptno 10 și 20 vor fi transmise în acest grup implicit.

Pe scurt, datele respinse de grupurile de filtrare vor fi colectate de acest grup implicit și, uneori, poate fi necesară stocarea acestor date respinse. În astfel de scenarii, grupul de ieșire implicit poate fi util.

Pentru a permite mai multe condiții de filtrare, transformarea Router oferă opțiunea de grupare.

  • Există un grup de intrare implicit care preia date de intrare.
  • Există, de asemenea, un grup de ieșire implicit care furnizează toate acele date care nu sunt transmise de nicio condiție de filtrare.
  • Pentru fiecare condiție de filtrare, în transformarea Router este creat un grup de ieșiri. Puteți conecta diferite ținte la aceste grupuri diferite.

Componentele transformării routerului

Înainte de construirea hărțiiping, este util să cunoașteți cele patru părți pe care Designer le creează pentru dvs. O transformare Router este alcătuită dintr-un grup de intrări, un set de grupuri de ieșiri, porturile din interiorul acestora și condițiile care decid unde merge fiecare rând.

Component Ce face
Grup de intrare Punctul unic de intrare pentru transformare. Fiecare rând primit ajunge aici o singură dată, indiferent câte grupuri de ieșire există.
Grup de ieșiri definit de utilizator Un grup pe care îl creați și îl denumiți singur, cum ar fi deptno_20. Fiecare are propria condiție de filtrare a grupului.
Grup de ieșiri implicit Creat automat imediat ce există primul grup definit de utilizator. Nu are nicio condiție de filtrare și nu poate fi editat sau șters.
Condiția filtrului de grup O expresie booleană scrisă în Editorul de expresii. Rândurile pentru care aceasta este evaluată ca TRUE trec prin acel grup.

Designerul copiază definițiile porturilor din grupul de intrare în fiecare grup de ieșire, astfel încât porturile să nu fie recreate grup cu grup. Două reguli decurg din acest design:

  • Rândurile pot fi duplicate. Dacă un rând îndeplinește mai mult de o condiție de filtrare a grupurilor, acesta este transmis o dată fiecărui grup care corespunde. Acesta este motivul obișnuit pentru care o destinație ajunge să aibă mai multe rânduri decât sursa.
  • Rândurile pot fi eliminate. Dacă grupul implicit este lăsat neconectat, rândurile care ajung la acesta dispar pur și simplu din canal, aceasta fiind cea mai rapidă modalitate de a elimina datele nedorite.

Transformarea routerului vs. transformarea filtrului

Ambele obiecte testează datele în funcție de o condiție și ambele sunt transformări active, așadar alegerea dintre ele se reduce la câte condiții sunt implicate și la importanța rândurilor respinse.

Punct de comparație Transformarea filtrului Transformarea routerului
Condiții per obiect O Unul sau mai mulți, fiecare în propriul grup
Rânduri respinse Abandonat și indisponibil Colectate în grupul implicit
Grupuri de ieșire O singură conductă de ieșire O conductă per grup, plus grupul implicit
Citiri sursă O citire per filtru atunci când condițiile sunt înlănțuite O singură citire pentru toate condițiile
Utilizare tipică Eliminarea rândurilor care nu sunt niciodată necesare Împărțirea unei surse în mai multe ținte

Testarea a trei condiții cu transformări Filtru înseamnă trei obiecte, iar într-un design înlănțuit aceleași rânduri sursă sunt evaluate în mod repetat. Un Router face aceeași muncă într-o singură trecere, motiv pentru care este, în general, opțiunea mai eficientă odată ce apare o a doua condiție. Pentru o singură condiție detașabilă, cea mai simplă... Transformarea filtrului este încă mai potrivit.

Cum se creează o transformare de router în Informatica

Ghidul de mai jos construiește un Router care trimite angajații departamentului 20 către o masă țintă. Urmați cei nouă pași în ordine din Hartă.ping Designer.

Pas 1) Crearea unei Hartăping având sursa „EMP” și ținta „EMP_TARGET”. Hartaping Apoi, pânza de designer conține definiția sursă, calificatorul sursă și definiția țintă, așa cum se arată mai jos.

Hartăping Canvasul de designer care conține sursa EMP, calificatorul sursei sale și definiția țintei EMP_TARGET

Pas 2) Apoi, pe hartăping

  1. Selectați meniul Transformare
  2. Selectați opțiunea de creare

Calea de meniu utilizată pentru a porni expertul este evidențiată în următoarea captură de ecran.

Meniul Transformare deschis în Hartăping Designer cu opțiunea Creare selectată

Pas 3) În fereastra de creare a transformării

  1. Selectați transformarea routerului
  2. Introduceți un nume pentru transformarea „rtr_deptno_10”
  3. Selectați opțiunea Creare

Pas 4) Transformarea Router va fi creată în hartăpingSelectați opțiunea „Terminat” din fereastră. Fereastra „Creează transformare” utilizată în ambii pași este afișată mai jos.

Fereastra Creare Transformare cu Router selectat și numele rtr_deptno_10 introdus

Pas 5) Trageți și plasați toate coloanele din Calificator sursă la transformarea Router. Fiecare port este acum legat la noul obiect, așa cum se arată în captura de ecran.

Toate coloanele Calificator sursă au fost trasă în transformarea Router rtr_deptno_10

Pas 6) Double Faceți clic pe transformarea Router, apoi pe proprietatea de transformare a acesteia

  1. Selectați fila grup
  2. Introdu numele grupului „deptno_20”
  3. Faceți clic pe condiția filtrului de grup

În continuare se afișează fila Grupuri cu noul grup adăugat.

Fila Grupuri a transformării Router cu grupul definit de utilizator deptno_20 adăugat

Pas 7) În Editorul de expresii, introduceți condiția de filtrare deptno=20 și selectați butonul OK. Editorul care deține această condiție este afișat mai jos.

Editorul de expresii care conține condiția de filtrare a grupului deptno=20 pentru grupul deptno_20

Pas 8) Selectați butonul OK din fereastra grupului. Condiția apare acum lângă grup, așa cum se arată în următoarea captură de ecran.

Condiția de filtrare a grupului salvată pentru grupul deptno_20 în fereastra Editare transformări

Pas 9) Conectați porturile din grupul deptno_20 al transformării Router la porturile tabelului țintă. Harta finalizatăping rulează de la sursă, prin grup, până la EMP_TARGET.

Porturile grupului de ieșire deptno_20 legate de tabela țintă EMP_TARGET

Acum, când executați această hartăping, înregistrările filtrate vor fi încărcate în tabelul țintă.

Cele mai bune practici și erori frecvente pentru transformarea routerului

Hartaping Mai sus folosește un grup, care ascunde majoritatea comportamentului care cauzează ulterior tichete de asistență. Punctele de mai jos acoperă ce se schimbă odată ce apare un al doilea grup.

  • Fiți atenți la rândurile duplicate. Condițiile de grup nu se exclud reciproc. Scrierea valorii sal>1000 într-un grup și a valorii deptno=20 în altul înseamnă că un angajat care corespunde ambelor valori este încărcat de două ori. Faceți condițiile exclusive sau acceptați duplicarea în mod deliberat.
  • Conectați grupul implicit atunci când respingerile contează. Rândurile care nu îndeplinesc nicio condiție se pierd, cu excepția cazului în care grupul implicit este conectat la o țintă sau la un fișier de respingere. Încărcările auditabile le păstrează de obicei.
  • Denumiți grupurile după regulă, nu după țintă. Grupul exemplu deptno_20 se citește clar; un grup numit group1 nu se citește. Rețineți că transformarea în sine este denumită rtr_deptno_10 în această demonstrație, în timp ce grupul filtrează în funcție de deptno 20, exact genul de nepotrivire pe care un standard de denumire îl previne.
  • Filtrează înainte de a direcționa acolo unde poți. Rândurile pe care niciun grup nu le va dori vreodată sunt mai ieftine de eliminat din interogarea Source Qualifier decât de transportat în Router.
  • Nu tratați Router-ul ca pe o joncțiune. Împarte o conductă în mai multe. Reunirea ramurilor necesită o transformare a Uniunii, iar combinarea a două surse diferite necesită... Transformarea tamplarului.

Un grup a cărui condiție returnează NULL în loc de TRUE sau FALSE este tratat ca nepotrivit, astfel încât rândurile cu valori nule din coloana testată cad în grupul implicit. Gestionarea explicită a valorilor nule în condiție evită această surpriză în timpul reglarea performanței și testare.

Întrebări frecvente

Da. Serviciul de integrare evaluează fiecare condiție de filtrare a grupului pentru fiecare rând, astfel încât un rând care îndeplinește două condiții este transmis o dată prin fiecare grup potrivit. Suprapunereping Condițiile sunt cauza obișnuită a rândurilor duplicate neașteptate.

Rândurile rutate către acesta sunt eliminate din canal. Lăsarea grupului implicit neconectat este metoda standard de a elimina datele pe care nicio condiție nu le dorește și acesta este, de asemenea, motivul pentru care rândurile respinse dispar uneori neobservate.

Nu. Apare automat odată ce este creat primul grup definit de utilizator, nu are nicio condiție de filtrare a grupului, iar Designer nu permite editarea sau eliminarea acestuia. Pot fi adăugate, redenumite sau șterse doar grupurile definite de utilizator.

Exact unul. Fiecare rând intră prin acel grup de intrare unic, iar Designer copiază definițiile porturilor sale în fiecare grup de ieșire, astfel încât porturile să nu fie recreate pentru fiecare ramură a hărții.ping.

Cu o transformare Union, care acceptă mai multe grupuri de intrare cu porturi corespondente și returnează o singură conductă de ieșire. Un router împarte datele în două; doar o Union reunește ramurile într-o singură țintă.

Ordinea grupurilor de ieșire conectate stabilește ordinea în care Serviciul de Integrare evaluează condițiile. Nu oprește un rând care se potrivește cu grupurile ulterioare, astfel încât ordinea afectează secvența, nu rândurile selectate.

Asistenții inteligenți artificiali profilează datele sursă pentru a dezvălui cum se distribuie efectiv valorile, apoi sugerează condiții de divizare și semnalează suprapunerile care ar duplica rândurile. Consultanții bazați pe învățare automată identifică, de asemenea, coloanele cu rate mari de nulitate înainte ca aceste rânduri să ajungă în mod silențios la grupul implicit.

Copilot redactează rapid expresii booleene și codul SQL corespunzător, ceea ce economisește timp în ceea ce privește regulile repetitive. Nu poate vedea numele porturilor sau volumele de date, așa că validați fiecare sugestie în Editorul de expresii înainte de a salva harta.ping.

Rezumați această postare cu: