Utilisation de l'itération avec un dataflow intégré

Les paramètres d'itération indiquent la manière dont un dataflow intégré doit traiter les enregistrements entrants. Par défaut, un dataflow intégré traite individuellement chaque enregistrement, exactement comme le ferait tout autre stage du dataflow. En revanche, si vous utilisez l'itération, vous pouvez traiter des groupes d'enregistrements ensemble, ce qui peut s'avérer utile lorsque, par exemple, vous effectuez des comparaisons ou des calculs en fonction de groupes d'enregistrements et non de l'ensemble des données d'entrée. Vous pouvez également utiliser l'itération pour appliquer des options de stage en fonction des données de chaque enregistrement.

Il existe deux types d'itération : l'itération par enregistrement et l'itération par groupe. Dans l'itération par enregistrement, un dataflow intégré traite un enregistrement à la fois et le résultat est envoyé au stage suivant du dataflow intégré. L'itération par enregistrement s'avère utile si vous souhaitez définir des options de stage par enregistrement à l'aide de valeurs de champ.

Dans l'itération par groupe, les enregistrements sont regroupés par un champ clé et le dataflow intégré traite chaque groupe. Tous les enregistrements d'un groupe sont traités en une itération, puis le groupe est écrit dans le stage suivant du dataflow intégré. Utilisez l'itération par groupe pour traiter des groupes d'enregistrements associés, ainsi que pour définir des options de stage à utiliser lors du traitement du groupe d'enregistrements. Par exemple, vous souhaitez peut-être regrouper des enregistrements par ID client pour pouvoir analyser les enregistrements de chaque client, pour déterminer, par exemple, le magasin dans lequel chaque client se rend le plus souvent.

Si vous utilisez l'itération, vous devez tenir compte de son impact sur les performances. À chaque lancement d'une nouvelle itération, l'initialisation du dataflow intégré requiert davantage de mémoire. Ce besoin accru en mémoire peut être considérable, en particulier si vous disposez de dataflows intégrés au sein d'autres dataflows intégrés. Par exemple, si un dataflow intégré effectue 1 000 itérations et qu'il contient un autre dataflow qui lui aussi effectue 1 000 itérations, le nombre total d'itérations est de 1 000 000. L'utilisation de l'itération par enregistrement a un impact plus important sur les performances, car chaque enregistrement déclenche une nouvelle itération.

  1. Créez un dataflow intégré contenant le ou les stages que vous souhaitez utiliser pour l'itération.
    Remarque : Il existe certaines limitations quant aux éléments susceptibles d'être inclus dans des dataflows intégrés dont l'option d'itération est activée :
    • Le stage Stream Combiner ne peut pas être le premier stage d'un dataflow intégré dont l'option d'itération est activée.
    • Le dataflow intégré ne peut pas contenir de récepteur écrivant dans un fichier figurant sur le client. Les récepteurs placés à l'intérieur d'un dataflow intégré doivent écrire dans un fichier figurant sur le serveur Spectrum™ Technology Platform ou sur un serveur de fichiers.
  2. Double-cliquez sur l'icône de dataflow intégré.
  3. Cochez la case Activer l'itération.
  4. S'il existe plusieurs canaux d'entrée connectés au dataflow intégré, utilisez le champ Port pour sélectionner le port dont vous souhaitez utiliser les enregistrements pour l'itération.

    Par exemple, imaginons que vous disposiez de deux ports d'entrée, A et B, et que vous décidiez d'effectuer une itération à chaque modification d'un champ clé. Si vous décidez d'utiliser le port B pour l'itération, le dataflow intégré lance une nouvelle itération à chaque modification d'un champ clé des enregistrements du port B. Tous les enregistrements de l'autre port (le port A) sont lus dans le dataflow intégré, mis en cache et utilisés à chaque itération.

  5. Sélectionnez le type d'itération à effectuer.
    Répéter chaque fois qu'un champ clé change
    Dans ce type d'itération, le dataflow intégré traite des groupes d'enregistrements dont un ou plusieurs champs contiennent la même valeur. Lorsque le dataflow intégré termine le traitement du groupe d'enregistrements, il est réinitialisé et commence le traitement d'un nouveau groupe d'enregistrements. Utilisez ce type d'itération pour créer des dataflows intégrés qui traitent des groupes d'enregistrements, puis qui émettent chaque groupe d'enregistrements séparément.
    Conseil : Si vous optez pour ce type d'itération, vous pouvez améliorer les performances en plaçant un stage Sorter devant le dataflow intégré et en triant les données en fonction du champ clé.
    Répéter par enregistrement
    Dans ce type d'itération, le dataflow intégré traite un enregistrement à la fois. Chaque fois que le dataflow intégré termine le traitement d'un enregistrement, le résultat est envoyé à la sortie et un nouvel enregistrement est traité. Les dataflows intégrés qui effectuent des itérations par enregistrement gèrent chaque enregistrement comme une nouvelle exécution de dataflows.
  6. Si vous sélectionnez Répéter chaque fois qu'un champ clé change, cochez la case Ignorer la casse lors de la comparaison de valeurs pour ignorer les différences de casse lors de l'évaluation de valeurs de champ clé pour déterminer des groupes d'enregistrements.
  7. Indiquez un ou plusieurs champs clés.
    1. Cliquez sur Ajouter.
    2. Sélectionnez le champ à utiliser comme champ clé.
    3. Pour utiliser la valeur du champ pour définir une option de stage au sein du dataflow intégré, indiquez le nom de l'option de votre choix.
    4. Cliquez sur OK.
    5. Si nécessaire, ajoutez des champs clés supplémentaires.

      Si vous sélectionnez plusieurs champs clés et l'option Répéter chaque fois qu'un champ clé change, pour que les enregistrements soient regroupés, ils doivent contenir la même valeur dans tous les champs clés.