Sequence Generator Transformation i Informatica
⚡ Smart opsummering
Sequence Generator En transformation i Informatica er det passive, forbundne objekt, der producerer numeriske sekvenser for surrogat- og primære nøglekolonner, og som overfører en værdi til hver række gennem to faste outputporte kaldet NEXTVAL og CURRVAL.

Hvad er sekvens Generator Transformation?
Sequence Generator Transformationen er passiv, så den påvirker ikke antallet af inputrækker. Sekvensen Generator bruges til at generere primære nøgleværdier, og den bruges til at generere numeriske sekvensværdier som 1, 2, 3, 4, 5 osv.
Hvis du f.eks. vil tildele sekvensværdier til kildeposterne, kan du bruge Sekvens GeneratorDe genererede sekvensværdier kan være som 5, 10, 15, 20, 25 osv. eller 10, 20, 30, 40, 50 osv. afhængigt af transformationens konfigurerede egenskaber.
I modsætning til de fleste transformationer har denne slet ingen inputporte. Den læser ikke de indgående rækker, den sender blot det næste nummer til den port, den er knyttet til, hvilket er grunden til, at den er sikker at placere ved siden af enhver pipeline i en kortping.
Porte i en sekvens Generator Transformation
Sequence Generator har to udgangsporte
- KURVAL
- NEXTVAL
CURRVAL-portværdien er altid NEXTVAL plus Increment By-værdien, så den læses kun som NEXTVAL+1, mens Increment By forbliver på standardværdien 1.
For at generere sekvensnumrene bruger vi altid NEXTVAL-kolonnen. Tabellen nedenfor opsummerer, hvordan de to porte opfører sig.
| port | Hvad den returnerer | Hvornår skal den tilsluttes |
|---|---|---|
| NEXTVAL | Det næste tal i sekvensen for hver række, der passerer gennem pipelinen. | Næsten altid. Dette er den port, der forsyner en nøglekolonne i målet. |
| KURVAL | NEXTVAL plus værdien Forøg med. | Kun sammen med NEXTVAL. Forbundet alene sender den den samme konstante værdi for hver række. |
Ingen af portene kan omdøbes eller fjernes, og ingen tredje port kan tilføjes, så alle ændringer af de genererede tal foretages på fanen Egenskaber i stedet for på portene.
Egenskaber for rækkefølge Generator Transformation
- Startværdi – Det er den første værdi, der genereres af transformationen, standardværdien er 0.
- Forøg med – Dette er det tal, som du vil øge værdierne med. Standardværdien er 1.
- Slutværdi – Det er den maksimale værdi, som transformationen skal generere.
- Cyklus – hvis denne indstilling er indstillet, vil transformationen genstarte fra startværdien efter at have nået slutningen af værdien.
Tre yderligere indstillinger vises på den samme fane og har betydning, så snart transformationen deles, eller en session køres igen.
| Ejendom | Hvad den kontrollerer | Standard |
|---|---|---|
| Nuværende værdi | Den værdi, som den næste sessionskørsel starter fra. Integrationstjenesten opdaterer den i arkivet, efterhånden som rækker genereres. | 1 |
| Antal cachelagrede værdier | Hvor mange værdier der er reserveret i hukommelsen ad gangen, så samtidige sessioner aldrig udleverer det samme tal to gange. | 0 for ikke-genanvendelig, 1000 for genanvendelig |
| Nulstil | Starter hver session fra den oprindelige aktuelle værdi i stedet for at fortsætte. Den er ikke tilgængelig på genanvendelig sekvens. Generators. | handicappet |
| Tracniveau | Mængden af detaljer, der skrives til sessionsloggen: Kortfattet, Normal, Udførlig initialisering eller Udførlige data. | Normal |
Sådan bruger du sekvens Generator Transformation i Informatica
I dette eksempel genererer vi sekvensnumre og gemmer dem i målet. Arbejd dig gennem de otte trin nedenfor i kortetping Designer.
Trin 1) Opret en måltabel med følgende script.
Download ovenstående emp_sequence.sql-fil
Trin 2) Importer tabellen i Informatica som måltabel.
Trin 3) Opret et nyt kortping og importer EMP-kilden og EMP_SEQUENCE-måltabellen. Begge definitioner er nu placeret på lærredet, som vist nedenfor.
Trin 4) Opret en ny transformation på kortetping
- Vælg sekvenstransformation som type
- Indtast transformationsnavnet "seq_emp"
- Vælg Opret mulighed
Trin 5) Sequence Generator Når transformationen oprettes, skal du vælge "udført". seq_emp-objektet vises nu på lærredet med dets to porte.
Trin 6) Link NEXTVAL-kolonnen i sekvensen Generator til SNO-kolonnen i målet.
Trin 7) Forbind de andre kolonner fra kildekvalifikator transformation til måltabellen.
Trin 8) Double klik på sekvensen Generator for at åbne egenskabsvinduet, og derefter
- Vælg fanen Egenskaber
- Indtast egenskaberne med Startværdi =1, lad resten egenskaber være standard
- Vælg knappen OK
Gem nu kortetping og udføre den efter oprettelsen af Session og workflow.
Sno-kolonnen i målet ville indeholde de sekvensnumre, der genereres af sekvensen. Generator transformation.
I vores eksempel vil sekvenserne være som 1 – Scott, 2 – King, 3 – Adam, 4 – Miller osv.
Genanvendelig og ikke-genanvendelig sekvens Generators
Transformationen, der er bygget ovenfor, lever inde i ét kortpingHvis du opretter den i Transformation Developer, bliver den i stedet genbrugelig, og de to opfører sig forskelligt, når der er involveret mere end én session.
| Punkt af sammenligning | Kan ikke genbruges | Genanvendelig |
|---|---|---|
| Hvor den er skabt | Inde i et enkelt kortping, på kortetping Designer | I Transformation Developer, derefter tilføjet til et hvilket som helst antal kortpings |
| Antal cachelagrede værdier | Standardværdien er 0, så værdier reserveres ikke på forhånd | Standardindstillingen er 1000, så hver session reserverer sin egen blok af tal |
| Nulstil egenskab | Tilgængelig, og genstarter sekvensen fra den oprindelige aktuelle værdi | Ikke tilgængelig, da genstart ville udlevere numre, som en anden session allerede er i brug |
| Typisk brug | Én målnøglekolonne i ét kortping | En delt surrogatnøgle på tværs af flere kortpingindlæser den samme dimension |
Caching er det, der holder samtidige sessioner adskilt. Hver session tager en blok af tal foran, hvilket betyder, at tallene forbliver unikke, men ikke sammenhængende: alle værdier, der ikke bruges, når en session slutter, kasseres, og den næste blok starter efter dem.
Regler og begrænsninger for sekvens Generator Transformation
Nogle af disse dukker først op efter kortetping har kørt, så de er billigere at kende, før portene er linket.
- Portene er faste. NEXTVAL og CURRVAL kan ikke redigeres eller slettes, og der kan ikke tilføjes yderligere porte til transformationen.
- CURRRVAL returnerer i sig selv en konstant. Forbind kun CURRVAL, når NEXTVAL også er forbundet downstream, ellers modtager hver række den samme værdi.
- To mål lades efter hinanden. Når NEXTVAL føder to måltabeller, indlæses det første mål med sine tal, før det andet mål starter, så de to sæt ikke flettes sammen.
- Huller er normale. Cachelagrede værdier, som en session ikke bruger, returneres aldrig, så en mislykket eller kort session efterlader huller i sekvensen. Design nøglekolonnen til at tolerere huller.
- Cyklus kan oprette dubletter. Når slutværdien er nået med Cyklus aktiveret, genstartes nummereringen ved startværdien, som vil kollidere med eksisterende taster, medmindre målet tillader det.
Fordi den aldrig læser en række, tilføjer transformationen næsten intet til sessionskørselstiden, hvilket er grunden til, at den sjældent optræder som en flaskehals under præstationsindstillingHvor en nøgle skal afhænge af selve dataene snarere end af en tæller, en aggregator or Snedker transformation er objektet, der udfører det arbejde, ikke denne.






