Reihenfolge Generator Transformation in der Informatik
โก Intelligente Zusammenfassung
Reihenfolge Generator Die Transformation in Informatica ist das passive, verbundene Objekt, das numerische Sequenzen fรผr Ersatz- und Primรคrschlรผsselspalten erzeugt und jeder Zeile รผber zwei feste Ausgabeports namens NEXTVAL und CURRVAL einen Wert zuweist.

Was ist Sequenz? Generator Transformation?
Reihenfolge Generator Die Transformation ist passiv, daher beeinflusst sie nicht die Anzahl der Eingabezeilen. Die Sequenz Generator wird verwendet, um Primรคrschlรผsselwerte zu generieren, und es wird verwendet, um numerische Sequenzwerte wie 1, 2, 3, 4, 5 usw. zu generieren.
Wenn Sie beispielsweise den Quelldatensรคtzen Sequenzwerte zuweisen mรถchten, kรถnnen Sie die Sequenzfunktion verwenden. GeneratorDie generierten Sequenzwerte kรถnnen beispielsweise 5, 10, 15, 20, 25 usw. oder 10, 20, 30, 40, 50 usw. sein, abhรคngig von den konfigurierten Eigenschaften der Transformation.
Im Gegensatz zu den meisten Transformationen besitzt diese keine Eingangsports. Sie liest die eingehenden Zeilen nicht, sondern รผbergibt einfach die nรคchste Zahl an den entsprechenden Port. Daher kann sie bedenkenlos neben jeder Pipeline platziert werden. Karteping.
Ports in einer Sequenz Generator Transformation
Reihenfolge Generator verfรผgt รผber zwei Ausgangsanschlรผsse
- CURRVAL
- NEXTVAL
Der Portwert CURRVAL ist immer NEXTVAL plus der Wert fรผr Increment By, also liest er sich nur als NEXTVAL+1, wรคhrend Increment By auf dem Standardwert 1 belassen wird.
Zur Generierung der Sequenznummern verwenden wir stets die Spalte NEXTVAL. Die folgende Tabelle fasst das Verhalten der beiden Ports zusammen.
| Hafen | Was es zurรผckgibt | Wann anschlieรen? |
|---|---|---|
| NEXTVAL | Die nรคchste Nummer in der Sequenz fรผr jede Zeile, die die Pipeline durchlรคuft. | Fast immer. Dies ist der Port, der eine wichtige Spalte im Zielsystem speist. |
| CURRVAL | NEXTVAL plus der Wert fรผr "Inkrement um". | Nur in Verbindung mit NEXTVAL. Allein angeschlossen รผbergibt es fรผr jede Zeile denselben konstanten Wert. |
Keiner der beiden Ports kann umbenannt oder entfernt werden, und es kann kein dritter Port hinzugefรผgt werden. Daher werden alle รnderungen an den generierten Nummern auf der Registerkarte โEigenschaftenโ und nicht an den Ports selbst vorgenommen.
Eigenschaften der Sequenz Generator Transformation
- Startwert โ Dies ist der erste Wert, der von der Transformation generiert wird. Der Standardwert ist 0.
- Erhรถhen um โ Dies ist die Zahl, um die Sie die Werte erhรถhen mรถchten. Der Standardwert ist 1.
- Endwert โ Dies ist der maximale Wert, den die Transformation generieren soll.
- Zyklus โ wenn diese Option gesetzt ist, beginnt die Transformation nach Erreichen des Endes des Werts erneut beim Startwert.
Drei weitere Einstellungen erscheinen auf demselben Tab und werden relevant, sobald die Transformation geteilt oder eine Sitzung neu gestartet wird.
| Eigenschaft | Was es steuert | Standard |
|---|---|---|
| Aktueller Wert | Der Wert, mit dem die nรคchste Sitzung gestartet wird. Der Integrationsdienst aktualisiert ihn im Repository, sobald Zeilen generiert werden. | 1 |
| Anzahl der zwischengespeicherten Werte | Wie viele Werte werden jeweils im Speicher reserviert, sodass gleichzeitige Sitzungen niemals zweimal dieselbe Zahl ausgeben? | 0 fรผr nicht wiederverwendbar, 1000 fรผr wiederverwendbar |
| Zurรผcksetzen | Startet jede Sitzung mit dem ursprรผnglichen aktuellen Wert, anstatt fortzufahren. Diese Funktion ist fรผr wiederverwendbare Sequenzen nicht verfรผgbar. Generators. | Deaktiviert |
| Tracing Level | Detailgrad der im Sitzungsprotokoll gespeicherten Informationen: Kurz, Normal, Ausfรผhrliche Initialisierung oder Ausfรผhrliche Daten. | Normal |
Wie man eine Sequenz verwendet Generator Transformation in der Informatik
In diesem Beispiel generieren wir Sequenznummern und speichern sie im Zielsystem. Arbeiten Sie die acht unten stehenden Schritte in der Map durch.ping Designer.
Schritt 1) Erstellen Sie mit dem folgenden Skript eine Zieltabelle.
Laden Sie die obige emp_sequence.sql-Datei herunter
Schritt 2) Importieren Sie die Tabelle in Informatica als Zieltabelle.
Schritt 3) Erstellen Sie eine neue Karteping und importieren Sie die EMP-Quelltabelle und die EMP_SEQUENCE-Zieltabelle. Beide Definitionen befinden sich nun auf der Arbeitsflรคche, wie unten dargestellt.
Schritt 4) Erstellen Sie eine neue Transformation in der Karteping
- Wรคhlen Sie als Typ Sequenztransformation aus
- Geben Sie den Transformationsnamen โseq_empโ ein.
- Wรคhlen Sie die Option โErstellenโ.
Schritt 5) Reihenfolge Generator Die Transformation wird erstellt; wรคhlen Sie die Option โFertigโ. Das Objekt โseq_empโ wird nun mit seinen beiden Anschlรผssen auf der Arbeitsflรคche angezeigt.
Schritt 6) Verknรผpfen Sie die Spalte NEXTVAL der Sequenz. Generator zur SNO-Spalte im Ziel.
Schritt 7) Verknรผpfen Sie die anderen Spalten von Quellenqualifizierer Transformation in die Zieltabelle.
Schritt 8) Double Klicken Sie auf die Sequenz Generator um das Eigenschaftenfenster zu รถffnen, und dann
- Wรคhlen Sie die Registerkarte โEigenschaftenโ.
- Geben Sie die Eigenschaften mit dem Startwert = 1 ein und belassen Sie die restlichen Eigenschaften als Standard
- Wรคhlen Sie die Schaltflรคche โOKโ.
Speichere nun die Karteping und fรผhren Sie es nach der Erstellung aus. Session und Arbeitsablauf..
Die Spalte โsnoโ im Ziel wรผrde die von der Sequenz generierten Sequenznummern enthalten. Generator Transformation.
In unserem Beispiel sรคhen die Sequenzen etwa so aus: 1 โ Scott, 2 โ King, 3 โ Adam, 4 โ Miller usw.
Wiederverwendbare und nicht wiederverwendbare Sequenz Generators
Die oben beschriebene Transformation lebt innerhalb einer Karte.pingDie Erstellung im Transformation Developer hingegen ermรถglicht die Wiederverwendbarkeit, und die beiden verhalten sich unterschiedlich, sobald mehr als eine Sitzung beteiligt ist.
| Vergleichspunkt | Nicht wiederverwendbar | Mehrweg |
|---|---|---|
| Wo es entsteht | Innerhalb einer einzigen Karteping, in der Karteping Designerin | Im Transformation Developer kรถnnen Sie dann beliebig vielen Karten hinzufรผgen.pings |
| Anzahl der zwischengespeicherten Werte | Standardmรครig ist der Wert 0, daher werden keine Werte im Voraus reserviert. | Standardmรครig ist der Wert 1000, sodass jede Sitzung ihren eigenen Zahlenblock reserviert. |
| Eigenschaft zurรผcksetzen | Verfรผgbar und startet die Sequenz vom ursprรผnglichen aktuellen Wert neu. | Nicht verfรผgbar, da ein Neustart Nummern vergeben wรผrde, die bereits in einer anderen Sitzung verwendet wurden. |
| Typische Verwendung | Eine Zielschlรผsselspalte in einer Karteping | Ein gemeinsamer Ersatzschlรผssel รผber mehrere Kartenpings Laden der gleichen Dimension |
Caching sorgt dafรผr, dass parallele Sitzungen voneinander getrennt bleiben. Jede Sitzung belegt einen Zahlenblock im Voraus, wodurch die Zahlen zwar eindeutig, aber nicht zusammenhรคngend bleiben: Alle nicht verwendeten Werte werden beim Ende einer Sitzung verworfen, und der nรคchste Block beginnt im Anschluss an diese Werte.
Regeln und Einschrรคnkungen der Reihenfolge Generator Transformation
Einige davon tauchen erst nach der Kartendarstellung auf.ping ist bereits gelaufen, daher ist es gรผnstiger, sie vor der Verbindung der Ports zu kennen.
- Die Anschlรผsse sind fest. NEXTVAL und CURRVAL kรถnnen nicht bearbeitet oder gelรถscht werden, und es kรถnnen keine weiteren Ports zur Transformation hinzugefรผgt werden.
- CURRVAL gibt allein eine Konstante zurรผck. Verbinde CURRVAL nur dann, wenn NEXTVAL ebenfalls nachgelagert verbunden ist, andernfalls erhรคlt jede Zeile denselben Wert.
- Zwei Ziele werden nacheinander geladen. Wenn NEXTVAL zwei Zieltabelle speist, wird die erste Zieltabelle mit ihren Zahlen geladen, bevor die zweite Zieltabelle beginnt, sodass sich die beiden Mengen nicht รผberschneiden.
- Lรผcken sind normal. Zwischengespeicherte Werte, die eine Sitzung nicht verwendet, werden nie zurรผckgegeben. Daher entstehen bei einer fehlgeschlagenen oder kurzen Sitzung Lรผcken in der Sequenz. Die Schlรผsselspalte sollte so gestaltet sein, dass sie solche Lรผcken toleriert.
- Cycle kann Duplikate erzeugen. Sobald der Endwert bei aktiviertem Zyklus erreicht ist, beginnt die Nummerierung wieder bei dem Startwert, was zu Konflikten mit vorhandenen Schlรผsseln fรผhren kann, es sei denn, das Zielsystem lรคsst dies zu.
Da die Transformation nie eine Zeile liest, trรคgt sie praktisch nichts zur Sitzungslaufzeit bei, weshalb sie wรคhrend der Sitzung nur selten als Flaschenhals auftritt. LeistungsoptimierungWenn ein Schlรผssel von den Daten selbst und nicht von einem Zรคhler abhรคngen muss, Aggregator or Tischlertransformation Es ist das Objekt, das diese Arbeit verrichtet, nicht dieses hier.






