Aller au contenu principal

Correspondance (mapping)

Correspondance (t_map) construit un schéma de sortie colonne par colonne, à la manière d'un tMap : chaque colonne de sortie est définie par une source — colonne d'entrée, expression pandas ou constante. Le mapping se fait visuellement dans l'éditeur.

Elle relie, elle ne convertit pas

Cette brick ne change aucun type. Chaque colonne garde celui de sa source, et le panneau se contente de l'afficher.

Relier une colonne à une autre et changer son type sont deux gestes distincts. Les mêler rendait le second invisible : un cast tombait au milieu d'un écran de correspondances, sans que rien ne l'annonce en amont ni ne le rappelle en aval.

Pour convertir, chaînez la brick dont c'est le métier : l'opération cast de Colonnes, ou Contrôle de schéma quand vous voulez en plus vérifier ce qui arrive.

Ports
Entrées1 flux (in)
Sorties1 flux (out) : le schéma mappé

Définir un mapping​

Chaque ligne du mapping décrit une colonne de sortie :

ChampDescription
output_nameNom de la colonne de sortie (requis).
source_typeType de source : column, expression ou constant (défaut : column).
source_valueLa source : nom de colonne d'entrée, expression pandas ou valeur littérale.

Les trois types de source :

SourceEffet
columnCopie une colonne d'entrée telle quelle. Si la colonne est absente, la sortie est remplie de valeurs nulles (avec un avertissement dans les logs).
expressionÉvalue une expression pandas (df.eval) sur chaque ligne, ex. prix * quantite ou nom + ' ' + prenom. Une expression invalide fait échouer l'exécution.
constantRemplit la colonne avec une valeur littérale identique sur toutes les lignes.

Le type annoncé​

Il est lu, jamais choisi :

SourceType annoncé
columncelui de la colonne d'entrée — c'est la même série, rangée sous un autre nom
constanttexte : le paramètre est une chaîne, et 2024 n'est pas deviné comme un nombre
expressioninconnu : il ne se sait qu'à l'exécution. Annoncer un type que le calcul démentirait serait pire que de se taire
Changement de comportement — t_map 2.0

Le paramètre output_type n'existe plus. Les flux qui s'en servaient pour convertir ne convertissent plus : ajoutez une opération cast de Colonnes juste après la correspondance.

Les migrations Talend sont concernées : un tMap dont les colonnes de sortie portaient un type ne le fait plus appliquer par la correspondance. Le contrat de sortie, lui, garde le type attendu — c'est là qu'il se vérifie.

Colonnes non mappées​

Le paramètre Inclure les colonnes non mappées (include_unmapped) contrôle le sort des colonnes d'entrée absentes du mapping :

  • désactivé (défaut) : seules les colonnes explicitement mappées sont conservées, la sortie est exactement le schéma déclaré ;
  • activé : les colonnes d'entrée non mappées sont ajoutées telles quelles en fin de sortie (passthrough).
remarque

Sans aucun mapping et avec include_unmapped désactivé, la sortie ne contient aucune ligne (les colonnes d'entrée sont conservées) ; un avertissement est loggué.

astuce

Pour de simples renommages ou casts sans redéfinir tout le schéma, la méga-brick Colonnes (rename, cast) est plus directe. Utilisez Correspondance quand vous voulez maîtriser le schéma de sortie de bout en bout.