Sequence Generator Transformasjon i Informatica

โšก Smart oppsummering

Sequence Generator transformasjon i Informatica er det passive, tilkoblede objektet som produserer numeriske sekvenser for surrogat- og primรฆrnรธkkelkolonner, og gir hver rad en verdi gjennom to faste utgangsporter kalt NEXTVAL og CURRVAL.

  • ๐Ÿ”ข To faste porter: NEXTVAL bรฆrer de genererte tallene, og CURRRVAL returnerer NEXTVAL pluss รธkningsverdien.
  • โš™๏ธ Fire kjerneegenskaper: Startverdi, ร˜kning med, Sluttverdi og Syklus bestemmer formen pรฅ hver produserte sekvens.
  • ๐Ÿงช Utarbeidet eksempel: ร…tte kartping Designertrinn laster genererte tall inn i SNO-kolonnen til et EMP_SEQUENCE-mรฅl.
  • โ™ป๏ธ Gjenbrukbart alternativ: En gjenbrukbar sekvens Generator deles av flere kartpings og mellomlagrer 1,000 verdier som standard.
  • ๐Ÿ”’ Portene er fikset: Porter kan ikke legges til, redigeres eller slettes, sรฅ all oppfรธrsel kontrolleres fra Egenskaper-fanen.
  • ๐Ÿ—๏ธ Surrogatnรธkler: Lagerdimensjonstabeller bruker genererte nรธkler i stedet for naturlige nรธkler fra kildesystemet.

Sequence Generator Transformasjon i Informatica

Hva er sekvens Generator Transformasjon?

Sequence Generator Transformasjonen er passiv, sรฅ den pรฅvirker ikke antall inputrader. Sekvensen Generator brukes til รฅ generere primรฆrnรธkkelverdier, og den brukes til รฅ generere numeriske sekvensverdier som 1, 2, 3, 4, 5 osv.

Hvis du for eksempel vil tilordne sekvensverdier til kildepostene, kan du bruke Sekvens GeneratorDe genererte sekvensverdiene kan vรฆre som 5, 10, 15, 20, 25 osv. eller 10, 20, 30, 40, 50 osv. avhengig av de konfigurerte egenskapene til transformasjonen.

I motsetning til de fleste transformasjoner har denne ingen inngangsporter i det hele tatt. Den leser ikke de innkommende radene, den overfรธrer ganske enkelt det neste tallet til den porten den er koblet til, og det er derfor den er trygg รฅ plassere ved siden av en hvilken som helst pipeline i en kartping.

Porter i en sekvens Generator Transformation

Sequence Generator har to utgangsporter

  • KURVAL
  • NEXTVAL

CURRVAL-portverdien er alltid NEXTVAL pluss Increment By-verdien, sรฅ den leses kun som NEXTVAL+1 mens Increment By stรฅr pรฅ standardverdien 1.

For รฅ generere sekvensnumrene bruker vi alltid NEXTVAL-kolonnen. Tabellen nedenfor oppsummerer hvordan de to portene oppfรธrer seg.

Havn Hva den returnerer Nรฅr du skal koble den til
NEXTVAL Det neste tallet i sekvensen for hver rad som gรฅr gjennom rรธrledningen. Nesten alltid. Dette er porten som mater en nรธkkelkolonne i mรฅlet.
KURVAL NEXTVAL pluss ร˜k med-verdien. Bare sammen med NEXTVAL. Tilkoblet alene sender den samme konstante verdi for hver rad.

Ingen av portene kan gis nytt navn eller fjernes, og ingen tredje port kan legges til, sรฅ alle endringer i de genererte tallene gjรธres i Egenskaper-fanen i stedet for pรฅ portene.

Egenskaper for rekkefรธlge Generator Transformation

  • Startverdi โ€“ Det er den fรธrste verdien som vil bli generert av transformasjonen, standardverdien er 0.
  • ร˜k opp med โ€“ Dette er tallet som du vil รธke verdiene med. Standardverdien er 1.
  • Sluttverdi โ€“ Det er den maksimale verdien som transformasjonen skal generere.
  • Syklus โ€“ hvis dette alternativet er angitt, starter transformasjonen pรฅ nytt fra startverdien etter รฅ ha nรฅdd slutten av verdien.

Tre ytterligere innstillinger vises i samme fane og gjelder sรฅ snart transformasjonen deles eller en รธkt kjรธres pรฅ nytt.

Eiendom Hva den kontrollerer Misligholde
Nรฅvรฆrende verdi Verdien som neste รธktkjรธring starter fra. Integrasjonstjenesten oppdaterer den i repositoriet etter hvert som rader genereres. 1
Antall hurtiglagrede verdier Hvor mange verdier som er reservert i minnet om gangen, slik at samtidige รธkter aldri deler ut det samme tallet to ganger. 0 for ikke-gjenbrukbar, 1000 for gjenbrukbar
Tilbakestill Starter hver รธkt fra den opprinnelige gjeldende verdien i stedet for รฅ fortsette. Den er ikke tilgjengelig pรฅ gjenbrukbare sekvenser. Generators. Deaktivert
Tracing-nivรฅ Mengde detaljer som skrives til รธktloggen: Kortfattet, Normal, Utfรธrlig initialisering eller Utfรธrlige data. Normal

Slik bruker du sekvens Generator Transformasjon i Informatica

I dette eksemplet genererer vi sekvensnumre og lagrer dem i mรฅlet. Arbeid deg gjennom de รฅtte trinnene nedenfor i kartet.ping Designer.

Trinn 1) Lag en mรฅltabell med fรธlgende skript.

Last ned emp_sequence.sql-filen ovenfor

Trinn 2) Importer tabellen i Informatica som mรฅltabell.

Trinn 3) Lag et nytt kartping og importer EMP-kilden og EMP_SEQUENCE-mรฅltabellen. Begge definisjonene ligger nรฅ pรฅ lerretet, som vist nedenfor.

kartping Designer med EMP-kilden og EMP_SEQUENCE-mรฅldefinisjonen importert

Trinn 4) Opprett en ny transformasjon i kartetping

  1. Velg sekvenstransformasjon som type
  2. Skriv inn transformasjonsnavnet "seq_emp"
  3. Velg alternativet Opprett

Opprett transformasjonsvindu med sekvens Generator valgt og navnet seq_emp skrevet inn

Trinn 5) Sequence Generator Nรฅr transformasjonen skal opprettes, velg alternativet ยซferdigยป. seq_emp-objektet vises nรฅ pรฅ lerretet med sine to porter.

Sequence Generator transformasjon seq_emp opprettet pรฅ kartetping lerret

Trinn 6) Koble til NEXTVAL-kolonnen i sekvensen Generator til SNO-kolonnen i mรฅlet.

NEXTVAL-porten til seq_emp er koblet til SNO-kolonnen i EMP_SEQUENCE-mรฅlet.

Trinn 7) Koble de andre kolonnene fra kildekvalifikator transformasjon til mรฅltabellen.

Gjenvรฆrende kildekvalifikatorkolonner koblet til EMP_SEQUENCE-mรฅltabellen

Trinn 8) Double klikk pรฅ sekvensen Generator for รฅ รฅpne egenskapsvinduet, og deretter

  1. Velg fanen egenskaper
  2. Skriv inn egenskapene med Startverdi =1, la resten av egenskapene stรฅ som standard
  3. Velg OK-knappen

Egenskaper-fanen i sekvensen Generator transformasjon med startverdien satt til 1

Lagre kartet nรฅping og utfรธr den etter รฅ ha opprettet Session og arbeidsflyt.

Sno-kolonnen i mรฅlet ville inneholde sekvensnumrene generert av sekvensen. Generator transformasjon.

I vรฅrt eksempel vil sekvensene vรฆre som 1 โ€“ Scott, 2 โ€“ King, 3 โ€“ Adam, 4 โ€“ Miller, osv.

Gjenbrukbar og ikke-gjenbrukbar sekvens Generators

Transformasjonen som er bygget ovenfor, finnes pรฅ ett kartpingร… opprette den i Transformation Developer gjรธr den i stedet gjenbrukbar, og de to oppfรธrer seg forskjellig nรฅr mer enn รฉn รธkt er involvert.

Sammenligningspunkt Kan ikke brukes igjen Gjenbruk
Hvor den opprettes Inne i et enkelt kartping, pรฅ kartetping designer I Transformation Developer, deretter lagt til et hvilket som helst antall kartpings
Antall hurtiglagrede verdier Standardverdien er 0, sรฅ verdiene er ikke reservert pรฅ forhรฅnd Standardverdien er 1000, sรฅ hver รธkt reserverer sin egen blokk med tall
Tilbakestill egenskap Tilgjengelig, og starter sekvensen pรฅ nytt fra den opprinnelige gjeldende verdien Ikke tilgjengelig, fordi omstart ville utlevert numre fra en annen รธkt som allerede er i bruk
Typisk bruk ร‰n mรฅlnรธkkelkolonne i ett kartping En delt surrogatnรธkkel pรฅ tvers av flere kartpinglaster inn samme dimensjon

Caching er det som holder samtidige รธkter fra hverandre. Hver รธkt tar en blokk med tall foran, noe som betyr at tallene forblir unike, men ikke sammenhengende: eventuelle verdier som ikke brukes nรฅr en รธkt avsluttes, forkastes, og den neste blokken starter etter dem.

Regler og begrensninger for sekvens Generator Transformation

Noen av disse dukker fรธrst opp etter at kartetping har kjรธrt, sรฅ det er billigere รฅ vite om dem fรธr portene kobles sammen.

  • Portene er fikset. NEXTVAL og CURRVAL kan ikke redigeres eller slettes, og ingen ytterligere porter kan legges til transformasjonen.
  • CURRRVAL returnerer alene en konstant. Koble CURRVAL bare til nรฅr NEXTVAL ogsรฅ er koblet nedstrรธms, ellers fรฅr hver rad samme verdi.
  • To mรฅl lades etter hverandre. Nรฅr NEXTVAL mater to mรฅltabeller, lastes det fรธrste mรฅlet inn med tallene sine fรธr det andre mรฅlet starter, slik at de to settene ikke flettes sammen.
  • Mellomrom er normalt. Bufrede verdier som en รธkt ikke bruker, leveres aldri tilbake, sรฅ en mislykket eller kort รธkt etterlater hull i sekvensen. Utform nรธkkelkolonnen slik at den tolererer hull.
  • Syklus kan opprette duplikater. Nรฅr sluttverdien er nรฅdd med Syklus aktivert, starter nummereringen pรฅ nytt ved startverdien, som vil kollidere med eksisterende taster med mindre mรฅlet tillater det.

Fordi den aldri leser en rad, legger transformasjonen nesten ingenting til รธktens kjรธretid, og det er derfor den sjelden vises som en flaskehals under ytelsesjusteringDer en nรธkkel mรฅ avhenge av selve dataene snarere enn av en teller, en aggregator or Snekker transformasjon er objektet som gjรธr det arbeidet, ikke denne.

Spรธrsmรฅl og svar

En surrogatnรธkkel er et meningslรธst tall som identifiserer en lagerrad i stedet for kildesystemidentifikatoren. Den forblir stabil nรฅr kilden endrer kodene sine, og en generert sekvens er den enkleste mรฅten รฅ produsere en pรฅ.

Fordi nummereringen da ligger i kartetping snarere enn i รฉn database. Flate filer og andre ikke-relasjonelle mรฅl fรฅr nรธkler pรฅ samme mรฅte, og det samme gjenbrukbare objektet kan nummerere flere mรฅl uten et databaseobjekt per tabell.

Sluttverdien godtar opptil 9 223 372 036 854 775 807, det stรธrste fortegnsbelagte 64-bits heltallet. Hvis den nรฅs, stoppes รธkten med en overlรธpsfeil med mindre Syklus er aktivert, i hvilket tilfelle nummereringen starter pรฅ nytt fra startverdien.

Ja. NEXTVAL kobler seg til enhver nedstrรธms transformasjon, oftest et uttrykk som bygger en sammensatt nรธkkel eller et oppslag som sjekker om en nรธkkel allerede finnes. Det genererte tallet gรฅr deretter videre med raden.

Ja, men sjekk mรฅlet fรธrst. ร… redigere startverdi eller gjeldende verdi pรฅ en aktiv nรธkkelkolonne kan gi ut tall som mรฅlet allerede har, sรฅ รธk verdien over den hรธyeste nรธkkelen i stedet for รฅ senke den.

Knapt. Den leser ingen rader og bygger ingen hurtigbufferfiler, sรฅ kostnaden er en telleroppdatering per rad. Store belastninger begrenses av leseren og forfatteren lenge fรธr nummereringen blir et problem.

AI-profiler skanner kildekolonner for รฅ foreslรฅ hvilken kombinasjon som er virkelig unik, flagger kandidatnรธkler med nullverdier eller duplikater, og oppdager avvik mellom innlastinger. Maskinlรฆringsbasert matching kobler ogsรฅ poster som beskriver den samme enheten under forskjellige identifikatorer.

Copilot skriver tilsvarende SQL sekvens- eller identitetsdefinisjon og avstemmingsspรธrringene som beviser at ingen nรธkkel ble duplisert. Den kan ikke se depotverdiene dine, sรฅ bekreft gjeldende verdi i selve transformasjonen fรธr en lasting.

Oppsummer dette innlegget med: