Séquence Generator Transformation dans Informatica
⚡ Résumé intelligent
Séquence Generator La transformation dans Informatica est l'objet passif et connecté qui produit des séquences numériques pour les colonnes de substitution et de clé primaire, en attribuant à chaque ligne une valeur via deux ports de sortie fixes nommés NEXTVAL et CURRVAL.

Qu'est-ce que la séquence Generator Transformation?
Séquence Generator La transformation est passive, elle n'affecte donc pas le nombre de lignes d'entrée. La séquence Generator est utilisé pour générer des valeurs de clé primaire, et il est utilisé pour générer des valeurs de séquence numérique comme 1, 2, 3, 4, 5 etc.
Par exemple, si vous souhaitez attribuer des valeurs de séquence aux enregistrements sources, vous pouvez utiliser la méthode Sequence. GeneratorLes valeurs de séquence générées peuvent être de la forme 5, 10, 15, 20, 25, etc. ou 10, 20, 30, 40, 50, etc., selon les propriétés configurées de la transformation.
Contrairement à la plupart des transformations, celle-ci ne possède aucun port d'entrée. Elle ne lit pas les lignes entrantes ; elle transmet simplement le nombre suivant au port auquel elle est connectée. C'est pourquoi elle peut être placée sans risque à côté de n'importe quel pipeline. planping.
Ports en séquence Generator Transformation
Séquence Generator possède deux ports de sortie
- COURRVAL
- VAL SUIVANT
La valeur du port CURRVAL est toujours égale à NEXTVAL plus la valeur Increment By, elle se lit donc comme NEXTVAL+1 uniquement, tandis que Increment By reste à sa valeur par défaut de 1.
Pour générer les numéros de séquence, nous utilisons systématiquement la colonne NEXTVAL. Le tableau ci-dessous récapitule le comportement des deux ports.
| Port | Ce qu'il renvoie | Quand le connecter |
|---|---|---|
| VAL SUIVANT | Le numéro suivant dans la séquence pour chaque ligne qui traverse le pipeline. | Presque toujours. Il s'agit du port qui alimente une colonne clé de la cible. |
| COURRVAL | NEXTVAL plus la valeur d'incrémentation. | Uniquement avec NEXTVAL. Connecté seul, il transmet la même valeur constante pour chaque ligne. |
Aucun des deux ports ne peut être renommé ou supprimé, et aucun troisième port ne peut être ajouté ; par conséquent, toute modification des numéros générés est effectuée dans l'onglet Propriétés plutôt que sur les ports.
Propriétés de la séquence Generator Transformation
- Valeur de départ – C'est la première valeur qui sera générée par la transformation, la valeur par défaut est 0.
- Incrémenter de – Il s’agit du nombre par lequel vous souhaitez incrémenter les valeurs. La valeur par défaut est 1.
- Valeur finale – C'est la valeur maximale que la transformation doit générer.
- Cycle – si cette option est définie, après avoir atteint la fin de la valeur, la transformation redémarre à partir de la valeur de départ.
Trois autres paramètres apparaissent sur le même onglet et deviennent importants dès que la transformation est partagée ou qu'une session est réexécutée.
| Propriétés | Ce qu'il contrôle | Réglage par défaut |
|---|---|---|
| Valeur actuelle | Il s'agit de la valeur à partir de laquelle la prochaine session s'exécute. Le service d'intégration la met à jour dans le référentiel au fur et à mesure que des lignes sont générées. | 1 |
| Nombre de valeurs mises en cache | Combien de valeurs sont réservées en mémoire simultanément pour que des sessions simultanées ne fournissent jamais deux fois le même nombre ? | 0 pour non réutilisable, 1000 pour réutilisable |
| Réinitialiser | Démarre chaque session à partir de la valeur actuelle initiale au lieu de la poursuivre. Cette option n'est pas disponible pour les séquences réutilisables. Generators. | Hors Ligne |
| TracNiveau d'apprentissage | Niveau de détail consigné dans le journal de session : concis, normal, initialisation détaillée ou données détaillées. | Normale |
Comment utiliser la séquence Generator Transformation dans Informatica
Dans cet exemple, nous allons générer des numéros de séquence et les stocker dans la cible. Suivez les huit étapes ci-dessous dans la carte.ping Designer.
Étape 1) Créez une table cible avec le script suivant.
Téléchargez le fichier emp_sequence.sql ci-dessus
Étape 2) Importez la table dans Informatica en tant que table cible.
Étape 3) Créer une nouvelle carteping Importez ensuite la source EMP et la table cible EMP_SEQUENCE. Les deux définitions apparaissent désormais sur le canevas, comme illustré ci-dessous.
Étape 4) Créez une nouvelle transformation dans la carteping
- Sélectionnez la transformation de séquence comme type
- Entrez le nom de la transformation « seq_emp »
- Sélectionnez l'option Créer
Étape 5) Séquence Generator Une transformation sera créée ; sélectionnez l’option « Terminé ». L’objet seq_emp apparaît désormais sur le canevas avec ses deux ports.
Étape 6) Liez la colonne NEXTVAL de la séquence Generator à la colonne SNO dans la cible.
Étape 7) Liez les autres colonnes à partir de qualificateur de source transformation vers la table cible.
Étape 8) Double cliquez sur la séquence Generator pour ouvrir la fenêtre des propriétés, puis
- Sélectionnez l'onglet Propriétés
- Entrez les propriétés avec la valeur de départ = 1, laissez les autres propriétés par défaut
- Sélectionnez le bouton OK
Maintenant, sauvegardez la carte.ping et l'exécuter après avoir créé le Session et workflow.
La colonne sno de la cible contiendrait les numéros de séquence générés par la séquence Generator la transformation.
Dans notre exemple, les séquences seront comme 1 – Scott, 2 – King, 3 – Adam, 4 – Miller, etc.
Séquence réutilisable et non réutilisable Generators
La transformation construite ci-dessus se trouve à l'intérieur d'une seule cartepingLe fait de le créer dans Transformation Developer le rend réutilisable, et les deux se comportent différemment dès lors qu'il y a plus d'une session impliquée.
| Point de comparaison | Non réutilisable | Réutilisable |
|---|---|---|
| Là où il est créé | À l'intérieur d'une seule carteping, dans la carteping Créateur | Dans le développeur de transformations, ajoutez ensuite à un nombre quelconque de cartespings |
| Nombre de valeurs mises en cache | La valeur par défaut est 0, les valeurs ne sont donc pas réservées à l'avance. | La valeur par défaut est de 1000, chaque session réserve donc son propre bloc de numéros. |
| Réinitialiser la propriété | Disponible, et redémarre la séquence à partir de la valeur actuelle d'origine | Non disponible, car un redémarrage attribuerait des numéros déjà utilisés par une autre session. |
| Utilisation typique | Une seule colonne clé cible dans une seule carteping | Une clé de substitution partagée sur plusieurs cartespings chargeant la même dimension |
La mise en cache permet de séparer les sessions simultanées. Chaque session utilise un bloc de nombres au départ, ce qui signifie que les nombres restent uniques mais non contigus : les valeurs non utilisées à la fin d’une session sont supprimées, et le bloc suivant commence après celles-ci.
Règles et limitations de la séquence Generator Transformation
Certaines de ces choses n'apparaissent qu'après la carteping Le processus a déjà été exécuté, il est donc moins coûteux de les connaître avant que les ports ne soient connectés.
- Les ports sont fixes. Les valeurs NEXTVAL et CURRVAL ne peuvent être ni modifiées ni supprimées, et aucun autre port ne peut être ajouté à la transformation.
- CURRVAL, à lui seul, renvoie une constante. Ne connectez CURRVAL que si NEXTVAL est également connecté en aval, sinon chaque ligne reçoit la même valeur.
- Deux cibles sont chargées l'une après l'autre. Lorsque NEXTVAL alimente deux tables cibles, la première cible est chargée avec ses nombres avant que la seconde cible ne commence, de sorte que les deux ensembles ne s'entrelacent pas.
- Des espaces sont normaux. Les valeurs mises en cache et non utilisées par une session ne sont jamais restituées ; par conséquent, une session interrompue ou incomplète crée des lacunes dans la séquence. Concevez la colonne clé de manière à tolérer ces lacunes.
- Cycle peut créer des doublons. Une fois la valeur finale atteinte avec le mode Cycle activé, la numérotation redémarre à la valeur initiale, ce qui peut entraîner un conflit avec les clés existantes, sauf si la cible l'autorise.
Comme elle ne lit jamais de ligne, la transformation n'ajoute quasiment rien à la durée d'exécution de la session, c'est pourquoi elle apparaît rarement comme un goulot d'étranglement pendant l'optimisation des performancesLorsqu'une clé doit dépendre des données elles-mêmes plutôt que d'un compteur, une Aggregator or Transformation de menuisier C'est l'objet qui effectue ce travail, pas celui-ci.






