Utilitaires
Scripts
Divers
Jeux
Rechercher
Quillevere.net
Réflexions informatiques

Inverser l'ordre des lignes d'un flux Talend

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.

Dernière modification le 04/08/2019 - Quillevere.net

Rechercher sur le site

rss RSS info Informations