Utilitaires
Scripts
Divers
Jeux
Rechercher
Quillevere.net
Techniques informatiques

Inverser l'ordre des lignes d'un flux Talend

Créé le 04/08/2019 , dern. modif. le 04/08/2019

Sur Talend, pour inverser l'ordre des lignes d'un flux, il n'y a pas de composant tReverse qui permettrait de faire cette opération directement. Vous pouvez cependant le faire ainsi :

  • Ajoutez un tMap sur votre job
  • Paramétrez le tMap : créez une nouvelle colonne de type int et affectez comme expression la fonction suivante : 
    Numeric.sequence("ordre",1,1)
  • La fonction Numeric.sequence crée un identifiant numérique incrémenté et prend comme paramètres un nom de variable, la valeur de début et la valeur d'incrément.
    tMap
  • Fermez le tMap et ajoutez un composant tSort sur la suite du flux
    ajout d'un tSort
  • Paramétrez le tSort : créez un critère en choisissant le nom de la colonne créée et choisissez un tri numérique décroissant
    paramétrage du tSort

Les lignes sont à présent triées dans l'ordre inverse. 

Ce genre de technique est également utile si vous souhaitez ne garder que la dernière ligne dupliquée d'un flux : en ajoutant à la suite un tUniqRow, comme celui-ci ne conserve que la première ligne en cas de doublons, il agira ainsi sur la dernière ligne initiale.

Quillevere.net

Commentaires

Aucune inscription n'est requise si vous souhaitez

Rechercher sur le site

fr en rss RSS info Informations