Joiner transformacija u Informatici s PRIMJEROM
⚡ Pametni sažetak
Transformacija spojnika u Informatici je aktivni, povezani objekt koji spaja dva heterogena izvora na temelju odgovarajućeg uvjeta, keširajući glavni cjevovod u memoriju dok detaljni cjevovod struji kroz njega.

Što je Joiner transformacija?
Spojna transformacija je aktivna i povezana transformacija koja vam pruža mogućnost stvaranja spojeva u Informatici. Spojevi stvoreni pomoću Spojne transformacije slični su spojevima u bazama podataka. Prednost Spojne transformacije je u tome što se spojevi mogu stvoriti za heterogene sustave (različite baze podataka).
U Joiner transformaciji postoje dva izvora koja ćemo koristiti za spajanja. Ta dva izvora se nazivaju
- Glavni izvor
- Detalj Izvor
U svojstvima Joiner transformacije možete odabrati koji izvor podataka može biti glavni, a koji izvor može biti izvor detalja.
Tijekom izvršavanja, glavni izvor se predmemorira u memoriju radi spajanja. Stoga se preporučuje odabrati izvor s manjim brojem zapisa kao glavni izvor. Glavni cjevovod se čuva u dvije predmemorije: indeksnoj predmemoriji za vrijednosti korištene u uvjetu spajanja i podatkovnoj predmemoriji za ostatak podataka retka.
Vrste spajanja u transformaciji spojnika
Svojstvo Vrsta spajanja na kartici Svojstva određuje što se događa s retcima koji ne pronađu podudaranje. Sljedeći spojevi mogu se stvoriti pomoću transformacije Spojivač.
- Glavno vanjsko spajanje – U glavnom vanjskom spoju, spoj vraća sve zapise iz izvora detalja, a vraćaju se samo odgovarajući retci iz glavnog izvora.
- Vanjski spoj detalja – U vanjskom spajanju detalja, iz izvora detalja vraćaju se samo odgovarajući retci, a iz glavnog izvora vraćaju se svi retci.
- Potpuni vanjski spoj – U potpunom vanjskom spajanju vraćaju se svi zapisi iz oba izvora.
- Normalno pridruživanje – U normalnom spajanju, iz oba izvora se vraćaju samo odgovarajući retci.
Glavni vanjski i detaljni vanjski spojevi ekvivalentni su lijevim vanjskim spojevima u SQL: svaki zadržava svaki redak jednog izvora i samo podudaranja iz drugog. Tablica u nastavku uspoređuje četiri tipa s njihovim SQL ekvivalentima.
| Vrsta pridruživanja | Redci sačuvani od glavnog | Redci su izostavljeni iz detalja | SQL ekvivalent |
|---|---|---|---|
| Normalno pridruživanje | Samo podudaranje | Samo podudaranje | Unutarnji spoj |
| Glavno vanjsko spajanje | Samo podudaranje | Svi retci | Lijevi vanjski spoj na izvoru detalja |
| Vanjski spoj detalja | Svi retci | Samo podudaranje | Lijevi vanjski spoj na glavnom izvoru |
| Potpuni vanjski spoj | Svi retci | Svi retci | Potpuni vanjski spoj |
Vrsta spajanja je svojstvo, a ne strukturni izbor, tako da se kasnije može promijeniti bez ponovne izgradnje mape.ping ili ponovno povezivanje bilo kojih portova.
Kako koristiti Joiner transformaciju u Informatici
U ovom primjeru, spojit ćemo tablice zaposlenika i odjela koristeći Joiner transformaciju. Prođite kroz osam koraka u nastavku na mapi.ping Dizajner.
Korak 1) Pomoću donjeg skripta stvorite novu ciljnu tablicu EMP_DEPTNAME u bazi podataka i uvezite tablicu u Informatica targets.
Preuzmite gornju datoteku emp_deptname.sql
Korak 2) Napravite novu kartaping i uvezite izvorne tablice „EMP“ i „DEPT“ te ciljnu tablicu koju smo kreirali u prethodnom koraku. Sve tri definicije sada se nalaze na platnu, kao što je prikazano dolje.
Korak 3) Iz izbornika Transformacija odaberite opciju Stvori. Zatim u prozoru Stvori transformaciju prikazanom dolje,
- Odaberite transformaciju spojnika
- Unesite naziv transformacije “jnr_emp_dept”
- Odaberite opciju za stvaranje
Korak 4) Povucite i ispustite sve stupce iz oba Kvalifikatori izvora na Joiner transformaciju. Oba cjevovoda su sada povezana u jnr_emp_dept, kao što je prikazano na snimci zaslona.
Korak 5) Double kliknite na transformaciju Joiner, zatim u prozoru Uredi transformacije
- Odaberite karticu stanja
- Kliknite ikonu za dodavanje novog uvjeta
- Odaberite deptno na popisu glavnih i detaljnih stupaca
Kartica Uvjet sada sadrži uvjet pojedinačnog spajanja na deptnbr.
Korak 6) Zatim u istom prozoru
- Odaberite karticu svojstava
- Odaberite Normalno spajanje kao vrstu spajanja
- Odaberite gumb U redu
Sljedeća je prikazana kartica Svojstva s postavljenom vrstom spajanja.
Radi optimizacije performansi, glavni izvor dodjeljujemo cjevovodu izvorne tablice koja ima manje zapisa. Za izvršavanje ovog zadatka:
Korak 7) Double kliknite na transformaciju Joiner da biste otvorili prozor Uredi transformacije, a zatim
- Odaberite karticu portova
- Odaberite bilo koji stupac određenog izvora koji želite učiniti glavnim
- Odaberite OK
Kartica Portovi označava odabrani cjevovod kao glavni, kao što je prikazano dolje.
Korak 8) Povežite relevantne stupce iz Joiner transformacije s ciljnom tablicom. Mapaping sada se pokreće iz oba izvora kroz spajanje u EMP_DEPTNAME.
Sada spremite kartuping i izvršite ga nakon što stvorite Sjednica i tijek rada za to. Spoj će se stvoriti pomoću Informatica Joiner-a, a relevantni detalji će se dohvatiti iz obje tablice.
Svojstva Joinerove transformacije
Kartica Svojstva sadrži više od same vrste spajanja. Postavke u nastavku kontroliraju koliko memorije spajanje koristi i gdje se zapisuju datoteke predmemorije.
| Postavljanje | Što kontrolira |
|---|---|
| Vrsta pridruživanja | Normalni, Glavni vanjski, Detaljni vanjski ili Puni vanjski. Odlučuje koji će se neusklađeni retci zadržati. |
| Uvjet pridruživanja | Popis parova portova glavni-detaljni u usporedbi s operatorom jednakosti. Nekoliko uvjeta kombinira se s operatorom AND. |
| Sortirani unos | Izjavljuje da oba cjevovoda već stižu sortirana prema uvjetnim portovima, što omogućuje Integration Serviceu da minimizira ulaz i izlaz diska. |
| Glavni redoslijed sortiranja | Redoslijed sortiranja glavnih izvornih podataka, korišten zajedno sa sortiranim ulazom. |
| Direktorij predmemorije | Direktorij u kojem se stvaraju datoteke indeksa i predmemorije podataka. Zadana vrijednost je procesna varijabla $PMCacheDir. |
| Veličina predmemorije podataka spojnika | Veličina predmemorije podataka koja sadrži podatke glavnog retka. Zadana vrijednost je Automatski, što omogućuje Integracijskoj usluzi da odredi veličinu. |
| Veličina predmemorije indeksa spojnika | Veličina indeksne predmemorije koja sadrži vrijednosti glavnog uvjeta. Zadana vrijednost je Automatski. |
| Opseg transformacije | Primjenjuje spajanje na svaku transakciju, na sve dolazne podatke ili na opseg na razini retka. |
Sortirani ulaz je postavka koju prvo vrijedi iskoristiti. Kada oba cjevovoda stignu poredana prema uvjetnim portovima, Integration Service ne mora zadržati cijeli glavni izvor prije početka podudaranja, što je isti princip koji se primjenjuje tijekom podešavanje izvedbe drugih predmemoriranih transformacija.
Pravila i ograničenja transformacije spojara
Neka ograničenja se pojavljuju tek kada se kartaping je validiran, pa je jeftinije znati ih prije nego što se portovi povežu.
- Samo jednakost. Uvjet spajanja uspoređuje portove s operatorom jednakosti. Operatori usporedbe kao što su veće od, manje od ili nije jednako nisu prihvaćeni u uvjetu.
- Odgovarajući tipovi podataka. Oba porta u uvjetu moraju imati isti tip podataka. Dizajner to potvrđuje, pa se neusklađeni stupci prvo moraju pretvoriti, obično u transformaciji izraza.
- Nema strategije ažuriranja uzvodno. Transformacija spajanja ne može se koristiti kada bilo koji ulazni cjevovod sadrži transformaciju strategije ažuriranja.
- Nema sekvence Generator neposredno prije toga. Povezivanje sekvence Generator Transformacija neposredno uzvodno od Joiner-a nije podržana.
- Keširanje se ne može isključiti. Glavni cjevovod je uvijek predmemoriran, zbog čega manji izvor pripada glavnoj strani i zašto je veličina predmemorije važna kod velikih spajanja.
Spajanje triju izvora zahtijeva dvije Joiner transformacije povezane zajedno, jer svaka prihvaća točno jedan glavni i jedan detaljni cjevovod. Gdje je drugi izvor mala referentna tablica koja se čita redak po redak, a Transformacija pretraživanja često je jednostavniji dizajn.







