Joiner Transformation i Informatica med EKSEMPEL
โก Smart opsummering
En joiner-transformation i Informatica er det aktive, forbundne objekt, der forbinder to heterogene kilder under en matchende betingelse og cacher master-pipelinen i hukommelsen, mens detaljepipelinen streamer gennem den.

Hvad er Joiner Transformation?
Joiner-transformation er en aktiv og forbundet transformation, der giver dig mulighed for at oprette joins i Informatica. Joins oprettet ved hjรฆlp af Joiner-transformation ligner joins i databaser. Fordelen ved Joiner-transformation er, at joins kan oprettes til heterogene systemer (forskellige databaser).
I Joiner-transformationen er der to kilder, som vi skal bruge til joins. Disse to kilder kaldes
- Mesterkilde
- Detaljekilde
I egenskaberne for Joiner-transformationen kan du vรฆlge, hvilken datakilde der kan vรฆre master, og hvilken kilde der kan vรฆre detaljekilden.
Under udfรธrelsen caches masterkilden i hukommelsen med henblik pรฅ joining. Det anbefales derfor at vรฆlge kilden med fรฆrre poster som masterkilde. Masterpipelinen opbevares i to caches: en indekscache til de vรฆrdier, der bruges i join-betingelsen, og en datacache til resten af โโrรฆkkedataene.
Typer af joins i Joiner-transformation
Egenskaben Join Type pรฅ fanen Egenskaber bestemmer, hvad der sker med rรฆkker, der ikke finder noget match. Fรธlgende joins kan oprettes ved hjรฆlp af Joiner-transformation.
- Master ydre samling โ I en master outer join returneres alle poster fra detaljekilden af โโjoin'et, og kun matchende rรฆkker fra masterkilden returneres.
- Detalje ydre sammenfรธjning โ I en detalje-outer join returneres kun matchende rรฆkker fra detaljekilden, og alle rรฆkker fra masterkilden returneres.
- Fuld ydre samling โ I en fuld outer join returneres alle poster fra begge kilder.
- Normal tilslutning โ I en normal join returneres kun matchende rรฆkker fra begge kilder.
Master ydre og detaljerede ydre joinforbindelser svarer til venstre ydre joinforbindelser i SQL: hver enkelt beholder hver rรฆkke fra den ene kilde og kun matchene fra den anden. Tabellen nedenfor sรฆtter de fire typer op mod deres SQL-รฆkvivalenter.
| Deltag type | Rรฆkker gemt fra master | Rรฆkker holdes vรฆk fra detaljer | SQL-รฆkvivalent |
|---|---|---|---|
| Normal tilslutning | Kun matchende | Kun matchende | Indvendig sammenfรธjning |
| Master ydre samling | Kun matchende | Alle rรฆkker | Venstre ydre join pรฅ detaljekilden |
| Detalje ydre sammenfรธjning | Alle rรฆkker | Kun matchende | Venstre ydre join pรฅ masterkilden |
| Fuld ydre samling | Alle rรฆkker | Alle rรฆkker | Fuld ydre samling |
Join-typen er en egenskab, ikke et strukturelt valg, sรฅ den kan รฆndres senere uden at genopbygge kortetping eller gentilslutning af porte.
Sรฅdan bruger du Joiner-transformation i Informatica
I dette eksempel vil vi forbinde emp- og dept-tabellerne ved hjรฆlp af Joiner-transformationen. Arbejd dig igennem de otte trin nedenfor i kortet.ping Designer.
Trin 1) Opret en ny mรฅltabel EMP_DEPTNAME i databasen ved hjรฆlp af scriptet nedenfor, og importer tabellen i Informatica-mรฅlene.
Download ovenstรฅende emp_deptname.sql-fil
Trin 2) Opret en ny kortping og importer kildetabellerne โEMPโ og โDEPTโ og mรฅltabellen, som vi oprettede i det forrige trin. Alle tre definitioner er nu placeret pรฅ lรฆrredet, som vist nedenfor.
Trin 3) Fra menuen Transformation skal du vรฆlge indstillingen Opret. I vinduet Opret transformation, der er vist nedenfor,
- Vรฆlg snedker transformation
- Indtast transformationsnavnet "jnr_emp_dept"
- Vรฆlg oprettelsesmulighed
Trin 4) Trรฆk og slip alle kolonnerne fra begge Kildekvalifikatorer til Joiner-transformationen. Begge pipelines er nu linket til jnr_emp_dept, som skรฆrmbilledet viser.
Trin 5) Double Klik pรฅ Joiner-transformationen, og klik derefter i vinduet Rediger transformationer
- Vรฆlg fanen betingelse
- Klik pรฅ ikonet tilfรธj ny tilstand
- Vรฆlg deptno i master- og detaljekolonnerlisten
Fanen Betingelse indeholder nu betingelsen for enkelttilslutning pรฅ afd.nr.
Trin 6) Sรฅ i samme vindue
- Vรฆlg fanen Egenskaber
- Vรฆlg Normal tilslutning som tilslutningstype
- Vรฆlg OK-knappen
Fanen Egenskaber med den indstillede jointype vises derefter.
For at optimere ydeevnen tildeler vi masterkilden til kildetabellens pipeline, som har fรฆrre poster. Sรฅdan udfรธrer du denne opgave:
Trin 7) Double Klik pรฅ Joiner-transformationen for at รฅbne vinduet Rediger transformationer, og klik derefter
- Vรฆlg fanen porte
- Vรฆlg en hvilken som helst kolonne i en bestemt kilde, som du vil gรธre til en master
- Vรฆlg OK
Fanen Porte markerer den valgte pipeline som master, som vist nedenfor.
Trin 8) Link de relevante kolonner fra Joiner-transformationen til mรฅltabellen. Kortetping kรธrer nu fra begge kilder gennem join'et til EMP_DEPTNAME.
Gem nu kortetping og udfรธre den efter at have oprettet en Session og workflow for det. Join'en oprettes ved hjรฆlp af Informatica Joiner, og relevante detaljer hentes fra begge tabeller.
Egenskaber for Joiner-transformation
Fanen Egenskaber indeholder mere end selve jointypen. Indstillingerne nedenfor styrer, hvor meget hukommelse joinen bruger, og hvor cachefilerne skrives hen.
| Lokal omrรฅde | Hvad den kontrollerer |
|---|---|
| Deltag Type | Normal, Master Ydre, Detaljeret Ydre eller Fuld Ydre. Bestemmer, hvilke ikke-matchede rรฆkker der bevares. |
| Tilslutningsbetingelse | Listen over master-til-detalje-portpar sammenlignet med equals-operatoren. Flere betingelser kombineres med AND. |
| Sorteret input | Erklรฆrer, at begge pipelines allerede ankommer sorteret efter betingelsesportene, hvilket gรธr det muligt for integrationstjenesten at minimere diskinput og -output. |
| Master sorteringsrรฆkkefรธlge | Sorteringsrรฆkkefรธlgen for masterkildedataene, brugt sammen med sorteret input. |
| Cache-mappe | Mappe hvor indeks- og datacachefilerne oprettes. Standardvรฆrdien er procesvariablen $PMCacheDir. |
| Stรธrrelse pรฅ Joiner-datacache | Stรธrrelsen pรฅ den datacache, der indeholder masterrรฆkkedataene. Standardindstillingen er Auto, hvilket giver integrationstjenesten mulighed for at dimensionere den. |
| Stรธrrelse pรฅ Joiner-indekscache | Stรธrrelsen pรฅ indekscachen, der indeholder hovedbetingelsesvรฆrdierne. Standardindstillingen er Auto. |
| Transformationsomfang | Anvender joinforbindelsen pรฅ hver transaktion, pรฅ alle indgรฅende data eller pรฅ et rรฆkkeniveau. |
Sorteret input er den indstilling, der er vรฆrd at bruge fรธrst. Nรฅr begge pipelines ankommer sorteret efter betingelsesportene, behรธver integrationstjenesten ikke at holde hele masterkilden, fรธr matchningen begynder, hvilket er det samme princip, der anvendes under prรฆstationsindstilling af andre cachelagrede transformationer.
Regler og begrรฆnsninger for Joiner-transformation
Nogle restriktioner dukker fรธrst op, nรฅr kortetping er valideret, sรฅ det er billigere at kende dem, fรธr portene linkes.
- Kun lighed. En join-betingelse sammenligner porte med equals-operatoren. Sammenligningsoperatorer som f.eks. stรธrre end, mindre end eller ikke lig med accepteres ikke i betingelsen.
- Matchende datatyper. Begge porte i en betingelse skal have den samme datatype. Designeren validerer dette, sรฅ uoverensstemmende kolonner skal fรธrst konverteres, normalt i en udtrykstransformation.
- Ingen opdateringsstrategi upstream. En Joiner-transformation kan ikke bruges, nรฅr en af โโinputpipelinerne indeholder en Update Strategy-transformation.
- Ingen sekvens Generator direkte fรธr den. Forbindelse af en sekvens Generator Transformation umiddelbart opstrรธms for Joineren understรธttes ikke.
- Caching kan ikke slรฅs fra. Master-pipelinen caches altid, hvilket er grunden til, at den mindre kilde hรธrer hjemme pรฅ master-siden, og hvorfor cache-stรธrrelsen er vigtig ved store joins.
At forbinde tre kilder krรฆver to Joiner-transformationer, der er kรฆdet sammen, fordi hver enkelt accepterer prรฆcis รฉn master- og รฉn detaljepipeline. Hvor den anden kilde i stedet er en lille referencetabel, der lรฆses rรฆkke for rรฆkke, Opslagstransformation er ofte det enklere design.







