Volgorde Generator Transformatie in de informatica
⚡ Slimme samenvatting
Volgorde Generator In Informatica is een transformatie een passief, verbonden object dat numerieke reeksen genereert voor surrogaat- en primaire sleutelkolommen, waarbij elke rij een waarde krijgt via twee vaste uitvoerpoorten genaamd NEXTVAL en CURRVAL.

Wat is volgorde Generator Transformatie?
Volgorde Generator De transformatie is passief, dus heeft deze geen invloed op het aantal invoerrijen. De reeks Generator Het wordt gebruikt om primaire sleutelwaarden te genereren, en het wordt gebruikt om numerieke reeksen te genereren zoals 1, 2, 3, 4, 5 enzovoort.
Als u bijvoorbeeld volgwaarden aan de bronrecords wilt toewijzen, kunt u de functie Volgorde gebruiken. GeneratorDe gegenereerde reekswaarden kunnen bijvoorbeeld 5, 10, 15, 20, 25 enzovoort zijn, of 10, 20, 30, 40, 50 enzovoort, afhankelijk van de geconfigureerde eigenschappen van de transformatie.
In tegenstelling tot de meeste transformaties heeft deze helemaal geen invoerpoorten. Hij leest de binnenkomende rijen niet, maar geeft simpelweg het volgende getal door aan de poort waarmee hij is verbonden. Daarom kan hij veilig naast elke pijplijn in een pipeline worden geplaatst. kaartping.
Poorten in een bepaalde volgorde Generator Transformatie
Volgorde Generator heeft twee uitgangspoorten
- CURVAL
- VOLGENDEVAL
De waarde van de CURRVAL-poort is altijd NEXTVAL plus de waarde van Increment By, dus deze wordt alleen gelezen als NEXTVAL+1, terwijl Increment By op de standaardwaarde van 1 blijft staan.
Om de volgnummers te genereren, gebruiken we altijd de kolom NEXTVAL. De onderstaande tabel vat samen hoe de twee poorten zich gedragen.
| Haven | Wat het oplevert | Wanneer moet je het aansluiten? |
|---|---|---|
| VOLGENDEVAL | Het volgende nummer in de reeks voor elke rij die door de pijplijn gaat. | Vrijwel altijd. Dit is de poort die een belangrijke kolom in het doel voedt. |
| CURVAL | NEXTVAL plus de waarde van Increment By. | Alleen in combinatie met NEXTVAL. Als deze functie zelfstandig wordt gebruikt, geeft hij voor elke rij dezelfde constante waarde door. |
Geen van beide poorten kan worden hernoemd of verwijderd, en er kan geen derde poort worden toegevoegd. Daarom worden alle wijzigingen aan de gegenereerde nummers doorgevoerd op het tabblad Eigenschappen en niet op de poorten zelf.
Eigenschappen van reeks Generator Transformatie
- Startwaarde – Het is de eerste waarde die door de transformatie wordt gegenereerd, de standaardwaarde is 0.
- Verhogen met – Dit is het getal waarmee u de waarden wilt verhogen. De standaardwaarde is 1.
- Eindwaarde – Het is de maximale waarde die de transformatie moet genereren.
- Cyclus – als deze optie is ingesteld, begint de transformatie na het bereiken van het einde van de waarde opnieuw vanaf de startwaarde.
Op hetzelfde tabblad verschijnen nog drie andere instellingen die van belang zijn zodra de transformatie wordt gedeeld of een sessie opnieuw wordt uitgevoerd.
| Eigendom | Wat het controleert | Standaard |
|---|---|---|
| huidige waarde | De waarde waarmee de volgende sessie wordt uitgevoerd. De integratieservice werkt deze waarde in de repository bij naarmate er rijen worden gegenereerd. | 1 |
| Aantal opgeslagen waarden | Hoeveel waarden worden er tegelijkertijd in het geheugen gereserveerd, zodat gelijktijdige sessies nooit twee keer hetzelfde getal uitgeven? | 0 voor niet-herbruikbaar, 1000 voor herbruikbaar |
| Reset | Start elke sessie vanaf de oorspronkelijke huidige waarde in plaats van verder te gaan. Deze functie is niet beschikbaar voor herbruikbare Sequences. Generators. | invalide |
| Tracing Niveau | Hoeveelheid details die in het sessielogboek worden vastgelegd: Beknopt, Normaal, Uitgebreide initialisatie of Uitgebreide gegevens. | Normaal |
Hoe gebruik je een reeks? Generator Transformatie in de informatica
In dit voorbeeld genereren we volgnummers en slaan we deze op in het doel. Doorloop de acht onderstaande stappen in de Map.ping Ontwerper.
Stap 1) Maak een doeltabel met het volgende script.
Download het bovenstaande emp_sequence.sql-bestand
Stap 2) Importeer de tabel in Informatica als doeltabel.
Stap 3) Maak een nieuwe kaartping en importeer de EMP-brontabel en de EMP_SEQUENCE-doeltabel. Beide definities staan nu op het canvas, zoals hieronder weergegeven.
Stap 4) Maak een nieuwe transformatie aan in de kaart.ping
- Selecteer reekstransformatie als type
- Voer de transformatienaam “seq_emp” in
- Selecteer de optie Maken
Stap 5) Volgorde Generator De transformatie wordt aangemaakt, selecteer de optie 'Gereed'. Het object seq_emp verschijnt nu op het canvas met zijn twee poorten.
Stap 6) Koppel de NEXTVAL-kolom van Sequence. Generator naar de SNO-kolom in het doel.
Stap 7) Koppel de andere kolommen vanuit bronkwalificatie transformatie naar de doeltabel.
Stap 8) Double klik op de reeks Generator om het eigenschappenvenster te openen, en dan
- Selecteer het tabblad Eigenschappen
- Voer de eigenschappen in met Startwaarde =1, laat de resteigenschappen standaard staan
- Selecteer de OK-knop
Sla de kaart nu op.ping en voer het uit na het aanmaken van de sessie en workflow.
De kolom 'sno' in het doelbestand zou de volgnummers bevatten die door de Sequence zijn gegenereerd. Generator transformatie.
In ons voorbeeld zullen de reeksen er als volgt uitzien: 1 – Scott, 2 – King, 3 – Adam, 4 – Miller, enzovoort.
Herbruikbare en niet-herbruikbare volgorde Generators
De hierboven beschreven transformatie bevindt zich binnen één kaart.pingDoor het in de Transformation Developer te creëren, wordt het herbruikbaar, en de twee gedragen zich anders wanneer er meer dan één sessie bij betrokken is.
| Punt van vergelijking | Niet herbruikbaar | Herbruikbare |
|---|---|---|
| Waar het wordt gecreëerd | Binnen één enkele kaartping, op de kaartping Designer | In de Transformation Developer kan dit vervolgens aan een willekeurig aantal kaarten worden toegevoegd.pings |
| Aantal opgeslagen waarden | De standaardwaarde is 0, dus er worden geen waarden vooraf gereserveerd. | Standaard is dit 1000, dus elke sessie reserveert zijn eigen blok getallen. |
| Eigenschap resetten | Beschikbaar, en start de reeks opnieuw vanaf de oorspronkelijke huidige waarde. | Niet beschikbaar, omdat bij een herstart nummers zouden worden toegewezen die al door een andere sessie zijn gebruikt. |
| Typisch gebruik | Eén doelsleutelkolom in één kaartping | Een gedeelde surrogaatsleutel voor meerdere kaartenpings laadt dezelfde dimensie |
Caching zorgt ervoor dat gelijktijdige sessies gescheiden blijven. Elke sessie neemt vooraf een blok getallen in beslag, wat betekent dat de getallen uniek blijven, maar niet aaneengesloten: alle waarden die ongebruikt blijven wanneer een sessie eindigt, worden verwijderd en het volgende blok begint daarna.
Regels en beperkingen van de volgorde Generator Transformatie
Sommige hiervan komen pas aan het licht na het bekijken van de kaart.ping Het is al een tijdje geleden dat ze zijn gestart, dus het is goedkoper om ze te kennen voordat de havens zijn aangesloten.
- De poorten zijn vast. NEXTVAL en CURRVAL kunnen niet worden bewerkt of verwijderd, en er kunnen geen verdere poorten aan de transformatie worden toegevoegd.
- CURRVAL retourneert op zichzelf een constante waarde. Verbind CURRVAL alleen wanneer NEXTVAL ook stroomafwaarts is verbonden, anders krijgt elke rij dezelfde waarde.
- Twee doelen worden na elkaar geladen. Wanneer NEXTVAL twee doeltabellen vult, wordt de eerste doeltabel met zijn getallen geladen voordat de tweede doeltabel begint, zodat de twee sets niet door elkaar lopen.
- Spleten zijn normaal. Waarden die in de cache zijn opgeslagen en die tijdens een sessie niet worden gebruikt, worden nooit teruggegeven. Een mislukte of korte sessie laat dus gaten in de reeks achter. Ontwerp de sleutelkolom zo dat deze gaten kan worden getolereerd.
- Cycle kan duplicaten aanmaken. Zodra de eindwaarde is bereikt met Cycle ingeschakeld, begint de nummering opnieuw bij de startwaarde, wat zal botsen met bestaande sleutels, tenzij het doel dit toestaat.
Omdat de transformatie nooit een rij leest, voegt deze vrijwel niets toe aan de sessieduur, waardoor deze zelden een knelpunt vormt. prestatieafstemmingWanneer een sleutel afhankelijk moet zijn van de gegevens zelf in plaats van van een teller, dan is een Aggregator or Transformatie van schrijnwerkers Het is het object dat dat werk doet, niet dit object.






