Rapprochement de données à l'aide des outils Talend - Cloud - 8.0

Version
Cloud
8.0
Language
Français
Product
Talend Big Data Platform
Talend Data Fabric
Talend Data Management Platform
Talend Data Services Platform
Talend MDM Platform
Talend Real-Time Big Data Platform
Module
Studio Talend
Content
Création et développement > Systèmes tiers > Composants Data Quality > Composants de rapprochement > Composants de rapprochement continu
Création et développement > Systèmes tiers > Composants Data Quality > Composants de rapprochement > Composants de rapprochement de données
Création et développement > Systèmes tiers > Composants Data Quality > Composants de rapprochement > Composants de rapprochement flou
Création et développement > Systèmes tiers > Composants Data Quality > Composants de rapprochement > Composants de rapprochement utilisant l'apprentissage automatique
Gouvernance de données > Systèmes tiers > Composants Data Quality > Composants de rapprochement > Composants de rapprochement continu
Gouvernance de données > Systèmes tiers > Composants Data Quality > Composants de rapprochement > Composants de rapprochement de données
Gouvernance de données > Systèmes tiers > Composants Data Quality > Composants de rapprochement > Composants de rapprochement flou
Gouvernance de données > Systèmes tiers > Composants Data Quality > Composants de rapprochement > Composants de rapprochement utilisant l'apprentissage automatique
Qualité et préparation de données > Systèmes tiers > Composants Data Quality > Composants de rapprochement > Composants de rapprochement continu
Qualité et préparation de données > Systèmes tiers > Composants Data Quality > Composants de rapprochement > Composants de rapprochement de données
Qualité et préparation de données > Systèmes tiers > Composants Data Quality > Composants de rapprochement > Composants de rapprochement flou
Qualité et préparation de données > Systèmes tiers > Composants Data Quality > Composants de rapprochement > Composants de rapprochement utilisant l'apprentissage automatique
Last publication date
2023-09-14

Qu'est-ce que le rapprochement de données ?

Le rapprochement de données est un processus qui vous permet de trouver des enregistrements représentant la même entité dans un jeu de données.

Définition générale

Le rapprochement de données vous permet :
  • de chercher des doublons, des paires suspectes et des enregistrements uniques dans une source de données,
  • d'analyser des données et de retourner des probabilités pondérées de correspondance,
  • de fusionner les entrées identiques ou similaires en une seule entrée et
  • de réduire les disparités entres les différentes sources de données.

Rapprochement d'enregistrements

Le rapprochement consiste en une identification des enregistrements faisant référence à une même entité dans un jeu de données.

Deux types de rapprochements d'enregistrements existent :
  • le rapprochement des enregistrements déterministe, basé sur des identifiants qui entrent en correspondance et
  • le rapprochement des enregistrements probabiliste, basé sur la probabilité que deux identifiants correspondent.

Que faire avant le rapprochement ?

Profiling des données

Le profiling des données est le processus permettant d'examiner des données disponibles dans différentes sources de données et de collecter des statistiques ainsi que des informations sur ces données.

Le profiling des données aide à évaluer le niveau de qualité des données selon des objectifs définis.

Les problèmes de qualité des données peuvent avoir différentes causes dont les systèmes hérités, les migrations de données, les modifications de bases de données, les incohérences en matières de communications humaines et bien d'autres anomalies potentielles. Indépendamment de leur source, les problèmes de qualité des données peuvent avoir un impact sur la capacité des entreprises à utiliser leurs données afin de prendre des décisions éclairées.

Si des données sont de faible qualité ou gérées dans des structures dont l'intégration ne permet pas de satisfaire les besoins de l'entreprise, les processus et la prise de décision en pâtissent.

En comparaison avec les techniques d'analyse manuelle, la technologie de profiling des données améliore la capacité de l'entreprise à relever le défi de la gestion de la qualité des données et à surmonter les difficultés rencontrées lors de migrations et d'intégration de données.

Standardisation des données

La standardisation des données est une étape essentielle avant d'essayer de mettre des données en correspondance et ce, afin d'améliorer la précision du rapprochement.
Talend fournit différents moyens de standardiser des données :
  • Vous pouvez standardiser des données grâce à des index de synonymes. Les synonymes sont standardisés et convertis en mots "maîtres".

    Pour plus d'informations concernant les dictionnaires des synonymes de données, consultez Dictionnaires des synonymes des données.

  • Vous pouvez utiliser des composants de validation d'adresses afin de valider des données d'adresses par rapport aux outils de validation d'Experian QAS, Loqate et MelissaData. Les adresses renvoyées par ces outils sont cohérentes et les variations dans la représentation des adresses sont éliminées. Les adresses étant standardisées, le rapprochement est plus facile.

    Pour plus d'informations concernant les composants tQASBatchAddressRow, tLoqateAddressRow et tMelissaDataAddress, consultez Standardisation d'adresses.

  • Vous pouvez utiliser le tStandardizePhoneNumber pour standardiser un numéro de téléphone, selon les conventions de formatage du pays d'origine.

    Pour plus d'informations concernant la standardisation des numéros de téléphone, consultez Standardisation de numéros de téléphone.

  • Vous pouvez utiliser d'autres composants plus génériques afin de transformer vos données et obtenir des enregistrements plus standardisés, comme le tReplace, le tReplaceList, le tVerifyEmail, le tExtractRegexFields ou le tMap.

Comment rapprocher des données ?

L'approche classique du rapprochement de données

L'approche classique du rapprochement de données consiste à classer les données en partitions de taille similaire ayant un même attribut, choisir les métriques et définir les règles de rapprochement de données.

Technique des blocs par partition

Le rapprochement d'enregistrement est une tâche exigeante car chaque enregistrement doit être comparé aux autres enregistrements du jeu de données. Pour améliorer l'efficacité de cette tâche, la technique des blocs est souvent une étape nécessaire.

Elle consiste en un tri des données en partitions de même tailles ayant le même attribut. L'objectif est de restreindre les comparaisons aux enregistrements groupés dans la même partition.

Pour créer des partitions efficaces, vous devez trouver des attributs qui ne risquent pas de changer, comme un prénom ou un nom. De ce fait, vous améliorez la fiabilité de la méthode des blocs et la vitesse d'exécution de la tâche.

Il est recommandé d'utiliser le composant tGenKey pour générer des clés de bloc et visualiser la distribution des blocs.

Pour plus d'informations sur la génération de clés de bloc, consultez Identification.

Choisir les métriques et définir les règles de rapprochement

Après avoir bloqué les données dans un groupe de la même taille, vous pouvez créer des règles de rapprochement et les tester avant de les utiliser dans le composant tMatchGroup.

Pour plus d'informations concernant la création d'une analyse de rapprochement, consultez Créer une analyse de rapprochement.

Rapprochement des fonctions dans le composant tMatchGroup

Le tMatchGroup permet de créer des groupes d'enregistrements de données similaires dans n'importe quelle source de données, y compris avec des données volumineuses, à l'aide d'une ou plusieurs règles de rapprochement.

Chaque groupe créé est composé d'un enregistrement maître et d'enregistrements similaires à cet enregistrement maître. Les fonctions de rapprochement utilisées pour calculer le degré de similarité entre les enregistrements similaires et l'enregistrement maître sont les suivants :
  • Des algorithmes phonétiques tels que Soundex ou Metaphone, qui sont utilisés pour rapprocher les noms.
  • La distance de Levensthein, qui calcule le nombre minimum de modifications requises pour transformer une chaîne de caractères en une autre.
  • La distance de Jaro, qui rapproche les entrées traitées en fonction des variations orthographiques.
  • La distance de Jaro-Winkler, qui est une variante de la distance de Jaro et qui accorde plus d'importance au début de la chaîne de caractères.

Pour plus d'informations concernant l'utilisation du composant tMatchGroup dans des Jobs Standard et Map/Reduce, consultez Rapprochement classique.

Algorithmes Simple VSR Matcher et T-Swoosh

Lorsque vous utilisez le composant tMatchGroup, vous pouvez choisir entre deux algorithmes :
  • Le Simple VSR Matcher
  • Le T-Swoosh

Pour plus d'informations concernant les analyses de rapprochement, consultez "Créer une règle de rapprochement" sur Talend Help Center.

Quand est-ce que les enregistrements se rapprochent ?

Deux enregistrements se rapprochent lorsque les conditions suivantes sont remplies :
  • Lorsque vous utilisez l'algortihme T-Swoosh, le score retourné pour chaque fonction de rapprochement doit être supérieur au seuil que vous avez défini.
  • Le score global, score pondéré calculé d'après les différentes fonctions de rapprochement, doit être supérieur au seuil de rapprochement.

Multiples passes

En général, des schémas de partitionnement différents sont nécessaires. Cela requiert d'utiliser des composants tMatchGroup de façon séquentielle pour rapprocher les données avec différentes clés de bloc.

Pour un exemple de rapprochement de données via de multiples passes, consultez Rapprochement classique.

Utilisation du composant tRecordMatching

Le tRecordMatching effectue une jointure entre les colonnes comparées du flux principal et les colonnes de référence du flux Lookup. En fonction de la stratégie de rapprochement que vous avez définie, le tRecordMatching écrit en sortie les données de rapprochement, les éventuelles données de rapprochement et les données rejetées. Au moment de définir votre stratégie de rapprochement, les scores de rapprochement définis par l'utilisateur ou l'utilisatrice sont cruciaux pour déterminer le niveau de rapprochement des données qui vous intéressent.

Pour plus d'informations concernant le composant tRecordMatching, consultez Rapprochement classique.

L'approche de l'apprentissage automatique

L'approche de l'apprentissage automatique est utile lorsque vous souhaitez mettre en correspondance un important volume de données.

Le processus de rapprochement des données peut être automatisé en construisant un modèle permettant de prédire les correspondances.

Le processus de rapprochement de données

Les avantages de l'apprentissage automatique sur l'approche classique sont les suivants :

  • Les différents mécanismes de blocking permettent une augmentation de la vitesse du calcul et une montée en charge. Dans le cadre de l'apprentissage automatique, le blocking est différent du partitionnement : un enregistrement peut appartenir à plusieurs blocs et la taille des blocs est clairement délimitée, ce n'est pas nécessairement le cas lors de l'utilisation du composant tGenKey.
  • Les règles apprises et stockées par le modèle d'apprentissage automatique peuvent être plus complexes et moins arbitraires que les règles de rapprochement définies manuellement.
  • La configuration des composants est plus simple. Le modèle de rapprochement apprend automatiquement les distances de correspondance et les seuils de similarité, entre autres.
  1. La première étape consiste en une pré-analyse du jeu de données à l'aide du tMatchPairing. Les enregistrements uniques, les enregistrements correspondant exactement, les paires suspectes et un échantillon des paires suspectes sont écrits en sortie par le tMatchPairing.

    Pour plus d'exemples, consultez Calculer des paires suspectes et écrire un échantillon dans Talend Data Stewardship et Calculer des paires suspectes et des échantillons suspects depuis les données source.

  2. La deuxième étape consiste à libeller manuellement les paires suspectes en tant que "match" ou "no-match". Vous pouvez utiliser Talend Data Stewardship pour libeller les paires suspectes plus facilement.

    Vous pouvez utiliser une ou plusieurs classes, par exemple “match”, “potential match” et “different”.

    Pour plus d'informations concernant la gestion des tâches de regroupement pour décider des relations entre les paires d'enregistrements dans Talend Data Stewardship, consultez Exemples d'utilisation de Talend Data Stewardship.

  3. La troisième consiste à soumettre les paires suspectes que vous avez libellées au tMatchModel afin d'apprendre et de générer un modèle de classification.

    Pour des exemples de générations de modèles de rapprochement, consultez les scénarios.

  4. La quatrième étape consiste à libeller les paires suspectes dans des jeux de données volumineux automatiquement en utilisant, avec le tMatchPredict, le modèle calculé par le tMatchModel.

    Pour voir un exemple de procédure pour libeller des paires suspectes avec des libellés assignés, consultez le scénario.

Qu'est-ce qu'un bon échantillon ?

L'échantillon doit être équilibré : le nombre d'enregistrements dans chaque classe - "match" et "no match" - doit être approximativement le même. Un échantillon déséquilibré aboutit à un modèle insatisfaisant.

L'échantillon doit être diversifié : plus les exemples sont diversifiés, plus les règles apprises par le modèles seront efficaces.

L'échantillon doit avoir la bonne taille : si vous disposez d'un important jeu de données constitué de millions d'enregistrements, quelques centaines ou milliers d'exemples peuvent suffire. Si votre jeu de données est constitué de moins de 10 000 enregistrements, la taille de l'échantillon doit se situer entre 1 et 10 % du jeu de données total.

Comment le tMatchModel génère-t-il un modèle ?

L'algorithme d'apprentissage automatique calcule différentes mesures, appelées attributs, afin d'obtenir le plus d'informations possibles sur les colonnes choisies.

Pour générer le modèle, le tMatchModel analyse les données en utilisant l'algorithme Random Forest. Une forêt aléatoire (random forest) est une collection d'arbres de décision utilisée pour résoudre un problème de classifications. Dans un arbre de décision, chaque nœud correspond à une question sur les attributs associés aux données d'entrée. Une forêt aléatoire génère plusieurs arbres de décision afin d'améliorer la précision de la classification et de générer un modèle.

Pour plus d'informations concernant le rapprochement de données dans Apache Spark, consultez les propriétés du tMatchModel.

Créer des enregistrements consolidés

Vous pouvez utiliser le tRuleSurvivorship ou Talend Data Stewardship pour créer un représentant unique de chaque entité.

Fusionner les enregistrements à l'aide du tRuleSurvivorship

Après avoir estimé les doublons et regroupé les paires suspectes, vous pouvez utiliser le tRuleSurvivorship créer un représentant unique de chaque groupe de doublons en choisissant les données les plus adaptées. Cette représentation est appelée "enregistrement consolidé".

Pour un exemple de création d'un jeu de données nettoyées à partir des paires suspectes libellées par le tMatchPredict et les enregistrements uniques calculés par le tMatchPairing, consultez Rapprochement utilisant l'apprentissage automatique.

Utiliser Talend Data Stewardship pour examiner manuellement et fusionner les enregistrements

Vous pouvez ajouter des campagnes de fusion dans Talend Data Stewardship pour examiner et modifier les règles, créer des représentants uniques et fusionner les données.

Pour plus d'informations concernant la fusion de campagnes dans Talend Data Stewardship, consultez Exemples d'utilisation de Talend Data Stewardship.

Dans Talend Data Stewardship, les data stewards sont des utilisateur·trice·s métier chargé·e·s de résoudre les tâches de fusion :
  • Classification des données en assignant des libellés choisis parmi une liste prédéfinie de choix d'arbitrage.
  • Fusion d'enregistrements suspects en un seul enregistrement.

    Tâches de fusion permettant aux data stewards de fusionner plusieurs suspects parmi les enregistrements source en un seul enregistrement (enregistrement consolidé). Le résultat d'une tâche de fusion est l'enregistrement maître produit par les data stewards.

    Pour plus d'informations concernant la fusion de tâches dans Talend Data Stewardship, consultez Exemples d'utilisation de Talend Data Stewardship.

    Les enregistrements source peuvent provenir d'une même source (dédoublonnage de base de données) ou de sources différentes (réconciliation de bases de données).

Comment utiliser la fonction de rapprochement continue à l'aide de composants d'apprentissage automatique ?

Effectuer un rapprochement continu

Si vous voulez rapprocher de nouveaux enregistrements et un jeu de données nettoyées, il n'est pas nécessaire de reprendre le processus de rapprochement depuis le début.

Vous pouvez réutiliser et indexer le jeu de données nettoyées et effectuer un rapprochement continu.

Afin d'effectuer des tâches de rapprochement continu, vous devez avoir lancé Elasticsearch version 5.1.2+.

Le processus de rapprochement continu comprend les étapes suivantes :

  1. La première étape consiste à calculer les suffixes pour séparer les enregistrements nettoyés et dédoublonnés d'un jeu de données et à les indexer dans Elasticsearch à l'aide du tMatchIndex.

    Pour un exemple d'indexation de données dans Elasticsearch à l'aide du tMatchIndex, consultez ce scénario.

  2. La deuxième étape consiste à comparer les enregistrements indexés à de nouveaux enregistrements ayant le même schéma et à écrire en sortie les doublons et les enregistrements uniques à l'aide du tMatchIndexPredict. Ce composant utilise le modèle permettant d'apparier les données et le modèle de rapprochement générés par le tMatchPairing et le tMatchModel

    Pour un exemple de rapprochement de nouveaux enregistrements avec des enregistrements d'un jeu de données de référence, consultez ce scénario.

Vous pouvez ensuite nettoyer et dédoublonner les enregistrements n'ayant aucune correspondance à l'aide du tRuleSurvivorship et alimenter le jeu de données nettoyées indexé dans Elasticsearch à l'aide du tMatchIndex.

Exact matching (Correspondance exacte)

Cette option considère que deux enregistrements sont une correspondance exacte lorsqu'un sous-ensemble de leurs attributs est identique.

Composant

tUniqRow

Ce composant assure une qualité de données des flux d'entrée et de sortie du Job.

Le composant tUniqRow compare les entrées et trie les doublons du flux d'entrée.

Ce composant n'est pas intégré par défaut à votre Studio Talend. Vous devez l'installer à l'aide du gestionnaire des fonctionnalités. Pour plus d'informations, consultez Installer les fonctionnalités à l'aide du Gestionnaire des fonctionnalités.

Propriétés du tUniqRow Standard

Ces propriétés sont utilisées pour configurer le tUniqRow s'exécutant dans le framework de Jobs Standard.

Le composant tUniqRow Standard appartient à la famille Qualité de données.

Le composant de ce framework est disponible dans tous les produits Talend.

Basic settings

Schema et Edit schema

Un schéma est une description de lignes. Il définit le nombre de champs (colonnes) à traiter et à passer au composant suivant. Lorsque vous créez un Job Spark, évitez le mot réservé line lors du nommage des champs.

Créez le schéma en cliquant sur le bouton Edit Schema. Si le schéma est en mode Repository, trois options sont disponibles :

  • View schema : sélectionnez cette option afin de voir uniquement le schéma.

  • Change to built-in property : sélectionnez cette option pour passer le schéma en mode Built-In et effectuer des modifications locales.

  • Update repository connection : sélectionnez cette option afin de modifier le schéma stocké dans le référentiel et décider de propager ou non les modifications à tous les Jobs.

    Si vous souhaitez propager les modifications uniquement au Job courant, cliquez sur No et sélectionnez à nouveau la métadonnée du schéma dans la fenêtre Repository Content.

Ce composant offre la fonction de schéma dynamique. Cela vous permet de récupérer des colonnes inconnues de fichiers sources ou de copier des lots de colonnes d'une source sans avoir à mapper chaque colonne individuellement. Pour plus d'informations concernant les schémas dynamiques, consultez Schéma dynamique.

Cette fonctionnalité de schéma dynamique est conçue pour permettre de récupérer des colonnes inconnues d'une table. Il est recommandé de l'utiliser uniquement à cet effet et non pour créer des tables.

 

Built-in : le schéma est créé et conservé localement pour ce composant seulement.

 

Repository : le schéma existe déjà et est stocké dans le Repository. Ainsi, il peut être réutilisé dans des Jobs et projets.

Unique key

Sélectionnez dans cette zone une ou plusieurs colonnes sur lesquelles le dédoublonnage sera effectué.

- Cochez la case Key attribute afin d'effectuer le dédoublonnage sur toutes les colonnes.

- Cochez la case Case sensitive afin de différencier les majuscules et les minuscules.

Paramètres avancés

Only once each duplicated key

Cochez cette case si vous souhaitez envoyer uniquement les premières entrées en doublon des colonnes définies comme clé(s) vers le flux de sortie des doublons.

Use of disk (suitable for processing large row set)

Cochez cette case pour permettre la génération de fichiers temporaires sur le disque dur lors du traitement de données volumineuses. Cela permet d'éviter les échecs d'exécution liés à une surcharge de la mémoire. Quand cette case est cochée, vous devez également définir les éléments suivants :

- Buffer size in memory : sélectionnez le nombre de lignes à mettre en mémoire tampon avant qu'un fichier temporaire ne soit généré sur le disque dur.

- Directory for temp files : indiquez l'endroit où les fichiers temporaires doivent être enregistrés.

Avertissement :

Assurez-vous de spécifier un répertoire existant pour les fichiers temporaires, sinon l'exécution du Job échouera.

Ignore trailing zeros for BigDecimal

Cochez cette case pour ignorer les zéros non nécessaires dans le traitement de données BigDecimal.

Statistiques du tStatCatcher

Cochez cette case pour collecter les métadonnées de traitement du Job au niveau du Job ainsi qu'au niveau de chaque composant.

Variables globales

Variables globales

NB_UNIQUES : nombre de lignes uniques. Cette variable est une variable After et retourne un entier.

NB_DUPLICATES : nombre de lignes en doublon. Cette variable est une variable After et retourne un entier.

ERROR_MESSAGE : message d'erreur généré par le composant lorsqu'une erreur survient. Cette variable est une variable After et retourne une chaîne de caractères. Cette variable fonctionne uniquement si la case Die on error est décochée, lorsque le composant contient cette case.

Une variable Flow fonctionne durant l'exécution d'un composant. Une variable After fonctionne après l'exécution d'un composant.

Pour renseigner un champ ou une expression à l'aide d'une variable, appuyez sur les touches Ctrl+Espace pour accéder à la liste des variables. À partir de cette liste, vous pouvez choisir la variable que vous souhaitez utiliser.

Pour plus d'informations concernant les variables, consultez Utiliser les contextes et les variables.

Utilisation

Règle d'utilisation

Ce composant est un composant intermédiaire puisqu'il sert à traiter un flux de données. Ainsi, il nécessite un composant d'entrée et un composant de sortie.

Propriétés du tUniqRow pour Apache Spark Batch

Ces propriétés sont utilisées pour configurer le tUniqRow s'exécutant dans le framework de Jobs Spark Batch.

Le composant tUniqRow Spark Batch appartient à la famille Processus en cours.

Le composant de ce framework est disponible dans tous les produits Talend avec Big Data nécessitant une souscription et dans Talend Data Fabric.

Basic settings

Schema et Edit schema

Un schéma est une description de lignes. Il définit le nombre de champs (colonnes) à traiter et à passer au composant suivant. Lorsque vous créez un Job Spark, évitez le mot réservé line lors du nommage des champs.

Créez le schéma en cliquant sur le bouton Edit Schema. Si le schéma est en mode Repository, trois options sont disponibles :

  • View schema : sélectionnez cette option afin de voir uniquement le schéma.

  • Change to built-in property : sélectionnez cette option pour passer le schéma en mode Built-In et effectuer des modifications locales.

  • Update repository connection : sélectionnez cette option afin de modifier le schéma stocké dans le référentiel et décider de propager ou non les modifications à tous les Jobs.

    Si vous souhaitez propager les modifications uniquement au Job courant, cliquez sur No et sélectionnez à nouveau la métadonnée du schéma dans la fenêtre Repository Content.

 

Built-in : le schéma est créé et conservé localement pour ce composant seulement.

 

Repository : le schéma existe déjà et est stocké dans le Repository. Ainsi, il peut être réutilisé dans des Jobs et projets.

Unique key

Sélectionnez dans cette zone une ou plusieurs colonnes sur lesquelles le dédoublonnage sera effectué.

- Cochez la case Key attribute afin d'effectuer le dédoublonnage sur toutes les colonnes.

- Cochez la case Case sensitive afin de différencier les majuscules et les minuscules.

Paramètres avancés

Only once each duplicated key

Cochez cette case si vous souhaitez envoyer uniquement les premières entrées en doublon des colonnes définies comme clé(s) vers le flux de sortie des doublons.

Utilisation

Règle d'utilisation

Ce composant est utilisé comme étape intermédiaire.

Ce composant, ainsi que la Palette Spark Batch à laquelle il appartient, ne s'affiche que lorsque vous créez un Job Spark Batch.

Notez que, dans cette documentation, sauf mention contraire, un scénario présente uniquement des Jobs Standard, c'est-à-dire des Jobs Talend traditionnels d'intégration de données.

Connexion à Spark

Dans l'onglet Spark Configuration de la vue Run, définissez la connexion à un cluster Spark donné pour le Job complet. De plus, puisque le Job attend ses fichiers .jar dépendants pour l'exécution, vous devez spécifier le répertoire du système de fichiers dans lequel ces fichiers .jar sont transférés afin que Spark puisse accéder à ces fichiers :
  • Yarn mode (Yarn Client ou Yarn Cluster) :
    • Lorsque vous utilisez Google Dataproc, spécifiez un bucket dans le champ Google Storage staging bucket de l'onglet Spark configuration.

    • Lorsque vous utilisez HDInsight, spécifiez le blob à utiliser pour le déploiement du Job, dans la zone Windows Azure Storage configuration de l'onglet Spark configuration.

    • Lorsque vous utilisez Altus, spécifiez le bucket S3 ou le stockage Azure Data Lake Storage (aperçu technique) pour le déploiement du Job, dans l'onglet Spark configuration.
    • Lorsque vous utilisez des distributions sur site (on-premises), utilisez le composant de configuration correspondant au système de fichiers utilisé par votre cluster. Généralement, ce système est HDFS et vous devez utiliser le tHDFSConfiguration.

  • Standalone mode : utilisez le composant de configuration correspondant au système de fichiers que votre cluster utilise, comme le tHDFSConfiguration Apache Spark Batch ou le tS3Configuration Apache Spark Batch.

    Si vous utilisez Databricks sans composant de configuration dans votre Job, vos données métier sont écrites directement dans DBFS (Databricks Filesystem).

Cette connexion fonctionne uniquement pour le Job dans lequel vous l'avez définie.

Propriétés du tUniqRow pour Apache Spark Streaming

Ces propriétés sont utilisées pour configurer le tUniqRow s'exécutant dans le framework de Jobs Spark Streaming.

Le composant tUniqRow Spark Streaming appartient à la famille Processus en cours.

Ce composant est disponible dans Talend Real Time Big Data Platform et dans Talend Data Fabric.

Basic settings

Schema et Edit schema

Un schéma est une description de lignes. Il définit le nombre de champs (colonnes) à traiter et à passer au composant suivant. Lorsque vous créez un Job Spark, évitez le mot réservé line lors du nommage des champs.

Créez le schéma en cliquant sur le bouton Edit Schema. Si le schéma est en mode Repository, trois options sont disponibles :

  • View schema : sélectionnez cette option afin de voir uniquement le schéma.

  • Change to built-in property : sélectionnez cette option pour passer le schéma en mode Built-In et effectuer des modifications locales.

  • Update repository connection : sélectionnez cette option afin de modifier le schéma stocké dans le référentiel et décider de propager ou non les modifications à tous les Jobs.

    Si vous souhaitez propager les modifications uniquement au Job courant, cliquez sur No et sélectionnez à nouveau la métadonnée du schéma dans la fenêtre Repository Content.

 

Built-in : le schéma est créé et conservé localement pour ce composant seulement.

 

Repository : le schéma existe déjà et est stocké dans le Repository. Ainsi, il peut être réutilisé dans des Jobs et projets.

Unique key

Sélectionnez dans cette zone une ou plusieurs colonnes sur lesquelles le dédoublonnage sera effectué.

- Cochez la case Key attribute afin d'effectuer le dédoublonnage sur toutes les colonnes.

- Cochez la case Case sensitive afin de différencier les majuscules et les minuscules.

Paramètres avancés

Only once each duplicated key

Cochez cette case si vous souhaitez envoyer uniquement les premières entrées en doublon des colonnes définies comme clé(s) vers le flux de sortie des doublons.

Utilisation

Règle d'utilisation

Ce composant est utilisé comme étape intermédiaire.

Ce composant, ainsi que les composants Spark Streaming de la Palette à laquelle il appartient, s'affichent uniquement lorsque vous créez un Job Spark Streaming.

Notez que, dans cette documentation, sauf mention contraire, un scénario présente uniquement des Jobs Standard, c'est-à-dire des Jobs Talend traditionnels d'intégration de données.

Connexion à Spark

Dans l'onglet Spark Configuration de la vue Run, définissez la connexion à un cluster Spark donné pour le Job complet. De plus, puisque le Job attend ses fichiers .jar dépendants pour l'exécution, vous devez spécifier le répertoire du système de fichiers dans lequel ces fichiers .jar sont transférés afin que Spark puisse accéder à ces fichiers :
  • Yarn mode (Yarn Client ou Yarn Cluster) :
    • Lorsque vous utilisez Google Dataproc, spécifiez un bucket dans le champ Google Storage staging bucket de l'onglet Spark configuration.

    • Lorsque vous utilisez HDInsight, spécifiez le blob à utiliser pour le déploiement du Job, dans la zone Windows Azure Storage configuration de l'onglet Spark configuration.

    • Lorsque vous utilisez Altus, spécifiez le bucket S3 ou le stockage Azure Data Lake Storage (aperçu technique) pour le déploiement du Job, dans l'onglet Spark configuration.
    • Lorsque vous utilisez des distributions sur site (on-premises), utilisez le composant de configuration correspondant au système de fichiers utilisé par votre cluster. Généralement, ce système est HDFS et vous devez utiliser le tHDFSConfiguration.

  • Standalone mode : utilisez le composant de configuration correspondant au système de fichiers que votre cluster utilise, comme le tHDFSConfiguration Apache Spark Batch ou le tS3Configuration Apache Spark Batch.

    Si vous utilisez Databricks sans composant de configuration dans votre Job, vos données métier sont écrites directement dans DBFS (Databricks Filesystem).

Cette connexion fonctionne uniquement pour le Job dans lequel vous l'avez définie.

Scénarios

Dédoublonner des données

Ce scénario décrit un Job à cinq composants, dont le but est de trier des entrées à partir d'une liste d'entrées comprenant des noms, de trouver des noms en doublons et d'afficher les noms uniques ainsi que les noms en doublon dans la console de la vue Run.

Configurer votre Job

Procédure

  1. Déposez un tFileInputDelimited, un tSortRow, un tUniqRow et deux tLogRow de la Palette dans l'espace de modélisation graphique.
  2. Facultatif : Pour renommer les composants, double-cliquez dessus.
  3. Reliez le tFileInputDelimited, le tSortRow et le tUniqRow à l'aide de liens Row > Main.
  4. Reliez le tUniqRow et le premier tLogRow à l'aide d'un lien Main > Uniques.
  5. Reliez le tUniqRow et le second tLogRow à l'aide d'un lien Main > Duplicates.

Configurer les composants

Procédure

  1. Double-cliquez sur le composant tFileInputDelimited afin d'afficher sa vue Basic settings.
  2. Cliquez sur le bouton [...] près du champ File Name/Stream pour parcourir votre système jusqu'à votre fichier d'entrée.
  3. Définissez les lignes d'en-tête et de pied de page.
    Dans cet exemple, la première ligne du fichier d'entrée est la ligne d'en-tête.
  4. Cliquez sur Edit schema pour définir le schéma de ce composant.
    1. Cliquez sur le bouton [+] pour ajouter des colonnes. Dans cet exemple, le fichier d'entrée contient cinq colonnes : Id, FirstName, LastName, Age et City.
    2. Cliquez sur OK.
  5. Double-cliquez sur le tSortRow afin d'afficher sa vue Basic settings.
  6. Pour trier les entrées selon l'ordre alphabétique des noms, ajoutez deux lignes à la table Criteria en cliquant sur le bouton [+] :
    1. Sélectionnez les colonnes FirstName et LastName dans Schema column.
    2. Sélectionnez alpha comme type de tri.
    3. Sélectionnez asc comme ordre de tri.
  7. Double-cliquez sur le composant tUniqRow afin d'afficher sa vue Basic settings.
  8. Dans la zone Unique key, sélectionnez les colonnes sur lesquelles vous souhaitez effectuer le dédoublonnage.
    Dans cet exemple, les noms en doublon sont triés.
  9. Dans la vue Basic settings des composants tLogRow, sélectionnez l'option Table pour afficher les résultats d'exécution du Job sous forme de tableau.

Exécuter le Job

Procédure

  1. Sauvegardez le Job.
  2. Exécutez-le en appuyant sur F6 ou en cliquant sur le bouton Run dans l'onglet Run.
    Les noms uniques et les noms en doublon sont affichés dans des tableaux différents.

Dédoublonnage d'entrées en se basant sur le schéma dynamique

Ce composant est disponible dans Talend Data Management Platform, Talend Big Data Platform, Talend Real Time Big Data Platform, Talend Data Services Platform, Talend MDM Platform et Talend Data Fabric.

Dans cet exemple, vous utilisez un Job similaire à celui décrit dans le scénario précédent pour dédoublonner les données d'entrée de plusieurs familles, de telle manière qu'une seule personne par famille reste sur la liste des noms. Comme tous les composants de ce Job supportent le schéma dynamique, vous pouvez utiliser cette option pour gagner du temps en évitant de configurer chaque colonne des schémas.

Configurer le Job

Procédure

  1. Déposez les composants suivants de la Palette dans l'espace de modélisation graphique : un tFileInputDelimited, un tExtractDynamicFields, un tUniqRow, un tFileOutputDelimited et un tLogRow. Renommez-les comme ci-dessus pour mieux identifier leur rôle au sein du Job.
  2. Facultatif : Pour renommer les composants, double-cliquez dessus.
  3. Reliez le tFileInputDelimited, le tExtractDynamicFields et le tUniqRow à l'aide de liens Row > Main.
  4. Reliez le tUniqRow et le premier tLogRow à l'aide d'un lien Main > Uniques.
  5. Reliez le tUniqRow et le second tLogRow à l'aide d'un lien Main > Duplicates.

Configurer les composants

Procédure

  1. Double-cliquez sur le composant tFileInputDelimited afin d'afficher sa vue Basic settings.
    Important : La fonctionnalité de schéma dynamique est supportée uniquement un mode Built-In et nécessite que le fichier d'entrée ait une ligne d'en-tête.
  2. Cliquez sur le bouton [...] près du champ File Name/Stream pour parcourir votre système jusqu'à votre fichier d'entrée.
  3. Définissez les lignes d'en-tête et de pied de page.
    Dans cet exemple, la première ligne du fichier d'entrée est la ligne d'en-tête.
  4. Cliquez sur Edit schema pour définir le schéma de ce composant.
    Dans cet exemple, le fichier d'entrée contient cinq colonnes : FirstName, LastName, HouseNo, Street et City. Toutefois, comme vous allez profiter de l'option de schéma dynamique, vous n'aurez à définir qu'une seule colonne, ici nommée Dyna.
    1. Ajoutez une nouvelle ligne en cliquant sur le bouton [+].
    2. Dans le champ Column, saisissez Dyna.
    3. Dans la liste Type, choisissez Dynamic.
    4. Cliquez sur OK.
  5. Double-cliquez sur le composant tExtractDynamicFields afin d'afficher sa vue Basic settings.
    Ce composant vous servira à séparer la colonne du schéma d'entrée en deux colonnes : une pour le prénom et l'autre pour les informations concernant la famille. Pour cela :
    1. Cliquez sur Edit schema pour ouvrir la boîte de dialogue Schema.
    2. Dans le panneau Output, sur la droite, cliquez sur le bouton [+] pour ajouter deux colonnes dans le schéma de sortie et appelez-les respectivement FirstName et FamilyInfo.
    3. Sélectionnez String dans la liste déroulante Type pour la colonne FirstName.
      Cela va extraire cette colonne du schéma d'entrée pour prendre en compte le nom de chaque personne sur la liste des noms.
    4. Sélectionnez Dynamic dans la liste déroulante Type pour la colonne FamilyInfo.
      Cette colonne s'occupe des autres informations de chaque personne présente sur la liste des noms : nom de famille, adresse, rue et ville identifieront une famille.
    5. Cliquez sur OK pour propager le schéma et fermer la boîte de dialogue Schema.
  6. Double-cliquez sur le composant tUniqRow afin d'afficher sa vue Basic settings.
  7. Dans la zone Unique key, cochez la case Key attribute pour la colonne FamilyInfo.
    Cela permet de dédoublonner les informations concernant la famille.
  8. Double-cliquez sur le composant tFileOutputDelimited afin d'afficher sa vue Basic settings.
  9. Définissez le chemin d'accès au fichier et cochez la case Include header.
  10. Laissez les autres paramètres tels qu'ils sont.
  11. Dans la vue Basic settings du composant tLogRow, sélectionnez l'option Table pour afficher les résultats d'exécution du Job sous forme de tableau.

Exécuter le Job

Procédure

  1. Sauvegardez le Job.
  2. Exécutez-le en appuyant sur F6 ou en cliquant sur le bouton Run dans l'onglet Run.
    Le fichier de sortie est créé et contient les informations concernant les familles en doublon. Une seule personne de chaque famille se trouve dans la liste.

Rapprochement flou (Fuzzy matching)

Le rapprochement flou vous permet de déterminer les enregistrements correspondant partiellement.

Composants

tFuzzyMatch

Ce composant compare une colonne du flux principal avec une colonne du flux de référence et extrait les données du flux principal en affichant la distance.

Ce composant n'est pas intégré par défaut à votre Studio Talend. Vous devez l'installer à l'aide du gestionnaire des fonctionnalités. Pour plus d'informations, consultez Installer les fonctionnalités à l'aide du Gestionnaire des fonctionnalités.

Propriétés du tFuzzyMatch Standard

Ces propriétés sont utilisées pour configurer le tFuzzyMatch s'exécutant dans le framework de Jobs Standard.

Le composant tFuzzyMatch Standard appartient à la famille Qualité de données.

Le composant de ce framework est disponible dans tous les produits Talend.

Basic settings

Schema et Edit schema

Un schéma est une description de lignes, il définit le nombre de champ qui sont traités et passés au composant suivant. Le schéma est soit local (Built-in), soit distant dans le Repository.

Deux colonnes en lecture seule sont automatiquement ajoutées au schéma de sortie : Value et Match.

 

Built-in : le schéma est créé et conservé pour ce composant uniquement. Pour plus d'informations concernant les schémas des composants dans l'onglet Basic settings (Paramètres simples), consultez Onglet Basic settings.

 

Repository : le schéma existe déjà et est stocké dans le Repository. Ainsi, il peut être réutilisé dans divers projets et Jobs. Pour plus d'informations concernant les schémas des composants dans l'onglet Basic settings (Paramètres simples), consultez Onglet Basic settings.

Matching type

Sélectionnez l'algorithme de correspondance approprié parmi les suivants :

Levenshtein : cette option se base sur la théorie de la distance d'édition. Elle calcule le nombre d'insertions, suppressions ou substitutions nécessaires pour qu'une entrée corresponde à l'entrée de référence.

Metaphone : cette option se base sur un algorithme phonétique afin d'indexer les entrées selon leur prononciation. Elle charge d'abord la phonétique de toutes les entrées du flux lookup de référence, puis vérifie toutes les entrées du flux principal par rapport aux entrées du flux de référence. Les caractères chinois ne sont pas supportés.

Double Metaphone : nouvelle version de l'algorithme phonétique Métaphone, qui produit des résultats plus précis que l'algorithme originel. Il peut retourner un code primaire et un code secondaire pour une chaîne de caractères. Cela est utile dans des cas ambigus, mais également pour de multiples variantes de noms de famille aux origines communes. Les caractères chinois ne sont pas supportés.

Min. distance

(Levenshtein uniquement) Définissez le nombre minimum de modifications autorisées pour correspondre à la référence. Si vous définissez 0, seules les correspondances exactes sont extraites.

Max. distance

(Levenshtein uniquement) Définissez le nombre maximum de modifications pouvant correspondre à la référence.

Matching column

Sélectionnez la colonne du flux principal qui doit être comparée à la colonne clé du flux de référence (Lookup).

Unique matching

Cochez cette case pour obtenir la meilleure correspondance possible, si plusieurs correspondances sont disponibles.

Matching item separator

Si plusieurs correspondances sont disponibles, elles seront toutes affichées sauf si la case Unique match est cochée. Définissez le séparateur entre chaque correspondance.

Advanced settings

tStatCatcher Statistics

Cochez cette case pour collecter les données de log au niveau des composants.

Variables globales

Variables globales

NB_LINE : nombre de lignes lues par un composant d'entrée ou passées à un composant de sortie. Cette variable est une variable After et retourne un entier.

ERROR_MESSAGE : message d'erreur généré par le composant lorsqu'une erreur survient. Cette variable est une variable After et retourne une chaîne de caractères. Cette variable fonctionne uniquement si la case Die on error est décochée, lorsque le composant contient cette case.

Une variable Flow fonctionne durant l'exécution d'un composant. Une variable After fonctionne après l'exécution d'un composant.

Pour renseigner un champ ou une expression à l'aide d'une variable, appuyez sur les touches Ctrl+Espace pour accéder à la liste des variables. À partir de cette liste, vous pouvez choisir la variable que vous souhaitez utiliser.

Pour plus d'informations concernant les variables, consultez Utiliser les contextes et les variables.

Utilisation

Règle d'utilisation

Ce composant n'est pas un composant de début (fond vert) et il nécessite deux composants d'entrée et un composant de sortie.

tFuzzyUniqRow

Ce composant compare des colonnes dans le flux d'entrée, en utilisant une méthode de rapprochement définie, et collecte les doublons rencontrés.

Ce composant n'est pas intégré par défaut à votre Studio Talend. Vous devez l'installer à l'aide du gestionnaire des fonctionnalités. Pour plus d'informations, consultez Installer les fonctionnalités à l'aide du Gestionnaire des fonctionnalités.

Propriétés du tFuzzyUniqRow Standard

Ces propriétés sont utilisées pour configurer le tFuzzyUniqRow s'exécutant dans le framework de Jobs Standard.

Le composant tFuzzyUniqRow Standard appartient à la famille Qualité de données.

Ce composant est disponible dans Talend Data Management Platform, Talend Big Data Platform, Talend Real Time Big Data Platform, Talend Data Services Platform, Talend MDM Platform et Talend Data Fabric.

Basic settings

Schema et Edit schema

Un schéma est une description de lignes, il définit le nombre de champ qui sont traités et passés au composant suivant. Le schéma est soit local (Built-in), soit distant dans le Repository.

 

Built-in : le schéma est créé et stocké localement pour ce composant seulement. Pour plus d'informations concernant les schémas des composants dans l'onglet Basic settings (Paramètres simples), consultez Onglet Basic settings.

 

Repository : le schéma existe déjà et est stocké dans le Repository. Ainsi, il peut être réutilisé dans divers projets et Jobs. Pour plus d'informations concernant les schémas des composants dans l'onglet Basic settings (Paramètres simples), consultez Onglet Basic settings.

Column (Colonne)

Liste de toutes les colonnes du flux d'entrée.

Key attribute

Cochez les cases à côté des colonnes que vous voulez sélectionnez.

Matching type

Sélectionnez l'algorithme de correspondance dans la liste :

Exact Match : associe chaque entrée traitée à toutes les entrées possibles de référence qui ont exactement la même valeur.

Levenshtein : cette option se base sur la théorie de la distance d'édition. Elle calcule le nombre d'insertions, suppressions ou substitutions nécessaires pour qu'une entrée corresponde à l'entrée de référence.

Metaphone : cette option se base sur un algorithme phonétique afin d'indexer les entrées selon leur prononciation. Elle charge d'abord la phonétique de toutes les entrées du flux lookup de référence, puis vérifie toutes les entrées du flux principal par rapport aux entrées du flux de référence. Les caractères chinois ne sont pas supportés.

Double Metaphone : nouvelle version de l'algorithme phonétique Métaphone, qui produit des résultats plus précis que l'algorithme originel. Il peut retourner un code primaire et un code secondaire pour une chaîne de caractères. Cela est utile dans des cas ambigus, mais également pour de multiples variantes de noms de famille aux origines communes. Les caractères chinois ne sont pas supportés.

Min Distance

Uniquement pour Levenshtein. Paramétrez le nombre minimal de changements permis afin de correspondre à la référence. Si vous saisissez 0, seules les correspondances parfaites (Exact Match) seront retournées.

Max Distance

Uniquement pour Levenshtein. Paramétrez le nombre maximal de changements permis afin de correspondre à la référence.

Paramètres avancés

tStat Catcher Statistics

Cochez cette case afin de collecter les données au niveau du composant.

Variables globales

Variables globales

NB_UNIQUES : nombre de lignes uniques. Cette variable est une variable After et retourne un entier.

NB_DUPLICATES : nombre de lignes en doublon. Cette variable est une variable After et retourne un entier.

ERROR_MESSAGE : message d'erreur généré par le composant lorsqu'une erreur survient. Cette variable est une variable After et retourne une chaîne de caractères. Cette variable fonctionne uniquement si la case Die on error est décochée, lorsque le composant contient cette case.

Une variable Flow fonctionne durant l'exécution d'un composant. Une variable After fonctionne après l'exécution d'un composant.

Pour renseigner un champ ou une expression à l'aide d'une variable, appuyez sur les touches Ctrl+Espace pour accéder à la liste des variables. À partir de cette liste, vous pouvez choisir la variable que vous souhaitez utiliser.

Pour plus d'informations concernant les variables, consultez Utiliser les contextes et les variables.

Utilisation

Règle d'utilisation

Ce composant n'est pas un composant de début (fond vert), il nécessite un composant d'entrée, et deux composants de sortie.

tBlockedFuzzyJoin

Déprécié·e : Ce composant est déprécié depuis la version 7.3 (GA, généralement disponible).

Ce composant améliore la qualité des données de toute source, en les à une source de données de référence.

Le tBlockedFuzzyJoin effectue une jointure entre deux tables en faisant un rapprochement flou sur plusieurs colonnes. Il compare les colonnes du flux principal par rapport aux colonnes du flux de référence et écrit en sortie les données correspondantes, les données pouvant correspondre, et les données rejetées.

Propriétés du tBlockedFuzzyJoin Standard

Ces propriétés sont utilisées pour configurer le tBlockedFuzzyJoin s'exécutant dans le framework de Jobs Standard.

Le composant tBlockedFuzzyJoin Standard appartient à la famille Qualité de données.

Ce composant est disponible dans Talend Data Management Platform, Talend Big Data Platform, Talend Real Time Big Data Platform, Talend Data Services Platform, Talend MDM Platform et Talend Data Fabric.

Basic settings

Schema et Edit Schema

Un schéma est une description de lignes, il définit le nombre de champ qui sont traités et passés au composant suivant. Le schéma est soit local (Built-in), soit distant dans le Repository.

 

Built-in : le schéma est créé et stocké localement pour ce composant seulement. Pour plus d'informations concernant les schémas des composants dans l'onglet Basic settings (Paramètres simples), consultez Onglet Basic settings.

 

Repository : le schéma existe déjà et est stocké dans le Repository. Ainsi, il peut être réutilisable dans divers projets et Job designs. Pour plus d'informations concernant les schémas des composants dans l'onglet Basic settings (Paramètres simples), consultez Onglet Basic settings.

Replace output column with lookup column if matches or possible matches

Cochez cette case pour remplacer la colonne de sortie par la colonne de référence en cas de correspondance ou de valeurs de correspondances possibles.

Input key attribute

Sélectionnez la ou les colonne(s) du flux principal devant être vérifiées par rapport à la colonne clé de référence (lookup).

Lookup key attribute

Sélectionnez les colonnes clé du flux lookup que vous utiliserez comme référence, c'est-à-dire auxquelles vous souhaitez comparer les colonnes du flux d'entrée.

Matching type

Sélectionnez l'algorithme de correspondance dans la liste :

Exact Match : cette option associe chaque entrée traitée à toutes les entrées possibles de référence qui ont exactement la même valeur.

Levenshtein : cette option se base sur la théorie de la distance d'édition. Elle calcule le nombre d'insertions, suppressions ou substitutions nécessaires pour qu'une entrée corresponde à l'entrée de référence.

Metaphone : cette option se base sur un algorithme phonétique afin d'indexer les entrées selon leur prononciation. Elle charge d'abord la phonétique de toutes les entrées du flux lookup de référence, puis vérifie toutes les entrées du flux principal par rapport aux entrées du flux de référence.

Double Metaphone : nouvelle version de l'algorithme phonétique Métaphone, qui produit des résultats plus précis que l'algorithme originel. Il peut retourner un code primaire et un code secondaire pour une chaîne de caractères. Cela est utile dans des cas ambigus, mais également pour de multiples variantes de noms de famille aux origines communes.

Sensible à la casse

Cochez cette case pour prendre en compte la casse.

Min. distance

Uniquement pour Levenshtein. Paramétrez le nombre minimal de changements permis afin de correspondre à la référence. Si vous saisissez 0, seules les correspondances parfaites (Exact Match) seront retournées.

Remarque :

Vous pouvez créer et stocker des variables de contexte pour les distances minimale et maximale, et faire en sorte que votre Job fasse une boucle sur ces valeurs, en commençant par la valeur maximale inférieure de correspondance et terminant par la valeur maximale supérieure afin de correspondre au plus grand nombre de lignes possible. Vous pouvez appuyer sur Ctrl+Espace pour accéder à la liste des variables et sélectionner les nouvelles variables de contexte. Pour plus d'informations concernant les variables de contexte, consultez Utiliser les contextes et les variables.

Max. distance

Uniquement pour Levenshtein. Paramétrez le nombre maximal de changements permis afin de correspondre à la référence.

Paramètres avancés

tStat Catcher Statistics

Cochez cette case afin de collecter les données au niveau du composant.

Variables globales

Variables globales

ERROR_MESSAGE : message d'erreur généré par le composant lorsqu'une erreur survient. Cette variable est une variable After et retourne une chaîne de caractères. Cette variable fonctionne uniquement si la case Die on error est décochée, lorsque le composant contient cette case.

Une variable Flow fonctionne durant l'exécution d'un composant. Une variable After fonctionne après l'exécution d'un composant.

Pour renseigner un champ ou une expression à l'aide d'une variable, appuyez sur les touches Ctrl+Espace pour accéder à la liste des variables. À partir de cette liste, vous pouvez choisir la variable que vous souhaitez utiliser.

Pour plus d'informations concernant les variables, consultez Utiliser les contextes et les variables.

Utilisation

Règle d'utilisation

Ce composant est déprécié. Vous pouvez utiliser le composant tRecordMatching pour le remplacer.

Ce composant n'est pas un composant de début (fond vert). Il requiert deux composants d'entrée et au moins un composant de sortie.

tFuzzyJoin

Déprécié·e : Ce composant est déprécié depuis la version 7.3 (GA, généralement disponible).

Ce composant effectue une jointure de deux tables, en appliquant le rapprochement flou sur plusieurs colonnes. Il compare les colonnes du flux principal et les colonnes de référence du flux de référence (Lookup), puis écrit en sortie les données du flux principal et/ou les données rejetées.

Propriétés du tFuzzyJoin Standard

Ces propriétés sont utilisées pour configurer le tFuzzyJoin s'exécutant dans le framework de Jobs Standard.

Le composant tFuzzyJoin Standard appartient à la famille Qualité de données.

Ce composant est disponible dans Talend Data Management Platform, Talend Big Data Platform, Talend Real Time Big Data Platform, Talend Data Services Platform, Talend MDM Platform et Talend Data Fabric.

Basic settings

Schema et Edit Schema

Un schéma est une description de lignes, il définit le nombre de champ qui sont traités et passés au composant suivant. Le schéma est soit local (Built-in), soit distant dans le Repository.

 

Built-in : le schéma est créé et stocké localement pour ce composant seulement. Pour plus d'informations concernant les schémas des composants dans l'onglet Basic settings (Paramètres simples), consultez Onglet Basic settings.

 

Repository : le schéma existe déjà et est stocké dans le Repository. Ainsi, il peut être réutilisable dans divers projets et Job designs. Pour plus d'informations concernant les schémas des composants dans l'onglet Basic settings (Paramètres simples), consultez Onglet Basic settings.

Include lookup columns in output

Cochez cette case pour inclure les colonnes de référence (lookup), que vous avez définies, dans le flux de sortie.

Input key attribute

Sélectionnez la ou les colonne(s) du flux principal devant être vérifiées par rapport à la colonne clé de référence (lookup).

Lookup key attribute

Sélectionnez les colonnes clé du flux lookup que vous utiliserez comme référence, c'est-à-dire auxquelles vous souhaitez comparer les colonnes du flux d'entrée.

Matching type

Sélectionnez l'algorithme de correspondance dans la liste :

Exact Match : associe chaque entrée traitée à toutes les entrées possibles de référence qui ont exactement la même valeur.

Levenshtein : cette option se base sur la théorie de la distance d'édition. Elle calcule le nombre d'insertions, suppressions ou substitutions nécessaires pour qu'une entrée corresponde à l'entrée de référence.

Metaphone : cette option se base sur un algorithme phonétique afin d'indexer les entrées selon leur prononciation. Elle charge d'abord la phonétique de toutes les entrées du flux lookup de référence, puis vérifie toutes les entrées du flux principal par rapport aux entrées du flux de référence.

Double Metaphone : nouvelle version de l'algorithme phonétique Métaphone, qui produit des résultats plus précis que l'algorithme originel. Il peut retourner un code primaire et un code secondaire pour une chaîne de caractères. Cela est utile dans des cas ambigus, mais également pour de multiples variantes de noms de famille aux origines communes.

Sensible à la casse

Cochez cette case pour prendre en compte la casse.

Min. distance

Uniquement pour Levenshtein. Paramétrez le nombre minimal de changements permis afin de correspondre à la référence. Si vous saisissez 0, seules les correspondances parfaites (Exact Match) seront retournées.

Remarque :

Vous pouvez créer et stocker des variables de contexte pour les distances minimale et maximale, et faire en sorte que votre Job fasse une boucle sur ces valeurs, en commençant par la valeur maximale inférieure de correspondance et terminant par la valeur maximale supérieure afin de correspondre au plus grand nombre de lignes possible. Vous pouvez appuyer sur Ctrl+Espace pour accéder à la liste des variables et sélectionner les nouvelles variables de contexte. Pour plus d'informations concernant les variables de contexte, consultez Utiliser les contextes et les variables.

Max. distance

Uniquement pour Levenshtein. Paramétrez le nombre maximal de changements permis afin de correspondre à la référence.

Inner join (with reject output)

Cochez cette case pour joindre d'abord les deux tables et ensuite rassembler les données rejetées du flux principal.

Advanced settings

tStat Catcher Statistics

Cochez cette case afin de collecter les données au niveau du composant.

Variables globales

Variables globales

ERROR_MESSAGE : message d'erreur généré par le composant lorsqu'une erreur survient. Cette variable est une variable After et retourne une chaîne de caractères. Cette variable fonctionne uniquement si la case Die on error est décochée, lorsque le composant contient cette case.

Une variable Flow fonctionne durant l'exécution d'un composant. Une variable After fonctionne après l'exécution d'un composant.

Pour renseigner un champ ou une expression à l'aide d'une variable, appuyez sur les touches Ctrl+Espace pour accéder à la liste des variables. À partir de cette liste, vous pouvez choisir la variable que vous souhaitez utiliser.

Pour plus d'informations concernant les variables, consultez Utiliser les contextes et les variables.

Utilisation

Règle d'utilisation

Ce composant est déprécié. Vous pouvez utiliser le composant tRecordMatching pour le remplacer.

Ce composant est un composant intermédiaire, il nécessite un composant d'entrée et un composant de sortie.

Scénarios

Calculer la distance de Levenshtein de 0 pour les prénoms

Ce scénario décrit un Job constitué de quatre composants dont le but est de vérifier la distance d'édition comprise entre les colonnes First Name (prénom) d'un fichier d'entrée et de comparer les données avec celles du fichier de référence. Le résultat de cette vérification de la distance de Levenshtein et le contenu du flux principal sont affichés dans une table.

Configurer votre Job

Procédure

  1. Déposez les composants suivants de la Palette dans l'espace de modélisation graphique : deux composants tFixedFlowInput, un tFuzzyMatch et un tLogRow.
  2. Reliez le premier composant tFixedFlowInput au tFuzzyMatch à l'aide d'un lien Row > Main.
  3. Reliez le second tFixedFlowInput au tFuzzyMatch à l'aide d'un lien de type Row > Main (qui apparaît comme Lookup dans l'espace de modélisation graphique).
  4. Reliez le tFuzzyMatch au composant de sortie tLogRow, à l'aide d'un lien Row > Main.

Configurer les composants

Procédure

  1. Configurez les paramètres du composant tFixedFlowInput dans sa vue Basic settings.
    Dans cet exemple, vous utilisez l'entrée suivante :
    FirstName;Name
    Brad;Los angeles
    Jason;New York
    Margaret;
    Kourtney;Seattle
    Nicole;Saint-Louis
    John;Denver
  2. Définissez le schéma du composant. Dans cet exemple, le schéma d'entrée possède deux colonnes, FirstName et City.
  3. Configurez le second tFixedFlowInput.
    Dans cet exemple, vous utilisez l'entrée suivante :
    FirstName;City
    Brad;Los Angeles
    Jason;New York
    Margaret;Dallas
    Courtney;Seattle
    Nicole;Saint-Louis
    Jon;Denver
  4. Assurez-vous que la colonne de référence a bien été définie comme colonne clé dans le schéma du flux de référence (lookup).
  5. Double-cliquez sur le tFuzzyMatch pour ouvrir sa vue Basic settings et vérifiez son schéma.
    Le Schema doit correspondre à celui du flux d'entrée principal (Main) afin que le flux principal soit comparé au flux de référence.
    Notez que deux colonnes : Value et Matching sont ajoutées au schéma de sortie. Elles correspondent à des informations standards de correspondance et sont en lecture seule.
  6. Sélectionnez la méthode à utiliser pour la vérification des données entrantes. Dans ce scénario, Levenshtein est le type de correspondance (Matching type) devant être utilisé.
  7. Configurez la distance.
    Dans cette méthode, la distance est le nombre de caractères modifiés (insertion, suppression ou substitution) pour que l'entrée principale corresponde exactement à l'entrée de référence.
    Dans cet exemple, configurez la distance minimale et la distance maximale à 0. Ce qui signifie que seule une correspondance exacte sera redirigée en flux de sortie.
  8. Décochez la case Case sensitive (Sensible à la casse).
  9. Sélectionnez la colonne de rapprochement et la colonne de lookup. Sélectionnez la colonne de prénom dans cet exemple.
  10. Laissez les autres paramètres par défaut.

Exécuter le Job

Procédure

Enregistrez le Job et appuyez sur la touche F6 pour l'exécuter.
Brad|Los angeles|0|Brad
Jason|New York|0|Jason
Margaret||0|Margaret
Kourtney|Seattle||
Nicole|Saint-Louis|0|Nicole
John|Denver||

Résultats

Comme la distance d'édition définie est de 0 (min. et max.), la sortie correspond à une jointure entre le flux principal et le flux de référence (lookup), ainsi seules les correspondances totales avec une valeur égale à 0 sont affichées.

Pour un exemple plus évident avec une distance minimum de 1 et une distance maximum de 2, consultez le scénario.

Calcul de la distance de Levenshtein de 1 ou 2 pour les prénoms

Ce scénario est basé sur un scénario décrit plus haut. Seuls les paramètres distance minimum et maximum du composant tFuzzyMatch sont modifiés, ce qui modifiera la sortie affichée.

Procédure

  1. Dans la vue Component du tFuzzyMatch, modifiez la distance minimum de 0 to 1. Ceci exclut directement les correspondances exactes (qui ont une distance de 0).
  2. Modifiez également la distance maximale à 2. La sortie produira toutes les entrées correspondantes montrant une différence de deux caractères maximum.
    Aucune autre modification de paramètres n'est nécessaire.
  3. Définissez le séparateur de champs (Matching item separator), car plusieurs entrées de référence peuvent correspondre à l'entrée du flux principal.
  4. Enregistrez votre nouveau Job et appuyez sur F6 pour l'exécuter.
    FirstName|Name||
    Brad|Los angeles||
    Jason|New York|2|Jon
    Margaret|||
    Kourtney|Seattle|1|Courtney
    Nicole|Saint-Louis||
    John|Denver|1|Jon
    Étant donné que la distance d'édition a été définie à 2, certaines entrées du flux principal correspondent à plusieurs entrées de référence (lookup).

Résultats

Vous pouvez utiliser une autre méthode, Métaphone, pour évaluer la distance entre le flux principal et le flux de référence, décrite dans le scénario suivant.

Vérifier la distance métaphonique pour les prénoms

Ce scénario se base sur le scénario Calcul de la distance de Levenshtein de 0 pour les prénoms.

Procédure

  1. Passez Matching type à Metaphone.
    Aucune distance minimum et aucune distance maximum ne sont à définir puisque cette méthode est basée sur les différences de phonétique avec la référence.
  2. Enregistrez le Job et appuyez sur F6. La valeur phonétique est affichée avec les correspondances possibles.
    Brad|Los angeles|BRT|Brad
    Jason|New York|JSN|Jason
    Margaret||MRKR|Margaret
    Kourtney|Seattle|KRTN|Courtney
    Nicole|Saint-Louis|NKL|Nicole
    John|Denver|JN|Jon

Comparaison de quatre colonnes en utilisant différentes méthodes de correspondance et collecte de doublons rencontrés

Ce composant est disponible dans Talend Data Management Platform, Talend Big Data Platform, Talend Real Time Big Data Platform, Talend Data Services Platform, Talend MDM Platform et Talend Data Fabric.

Ce scénario décrit un Job à quatre composants, dont le but est de collecter dans deux fichiers séparés toutes les entrées uniques et tous les doublons d'entrées depuis des colonnes traitées définies, à partir des types de correspondance Levenshtein et Double Métaphone.

Le fichier d'entrée dans cet exemple ressemble à ceci :

ID;Status;FirstName;Email;City;Initial;ZipCode
1;married;Paul;pnewman@comp.com;New York;P.N.;55677
2;single;Raul;rnewman@comp.com;New Ork;R.N.;55677
3;single;Mary;mnewman@comp.com;Chicago;M.N;66898

Configurer le Job

Procédure

  1. Déposez un tFileInputDelimited, un tFuzzyUniqRow, et deux tFileOutputExcel de la Palette dans l'espace de modélisation graphique.
  2. Reliez le tFileInputDelimited au tFuzzyUniqRow à l'aide d'un lien Main, le tFuzzyUniqRow au premier tFileOutputExcel avec un lien Uniques, puis au second tFileOutputExcel à l'aide d'un lien Duplicates.

Configurer les composants

Procédure

  1. Double-cliquez sur le tFileInputDelimited afin d'ouvrir sa vue Basic settings et définir ses propriétés.
  2. Cliquez sur le bouton [...] à côté du champ File Name pour sélectionner le fichier contenant les données d'entrée.
  3. Au besoin, paramétrez les champs Header, Footer, and Limit.
    Pour ce scénario, saisissez 1 dans le champ Header. Les champs Footer et Limit pour le nombre de lignes traitées ne sont pas paramétrés.
  4. Cliquez sur Edit schema pour ouvrir une boîte de dialogue où vous pourrez décrire la structure des données du fichier délimité source.
    Dans ce scénario, le schéma source est composé des colonnes suivantes : ID, Status, FirstName, Email, City, Initial, et ZipCode.
  5. Double-cliquez sur le tFuzzyUniqRow afin d'afficher sa vue Basic settings et définir ses propriétés.
  6. Dans la colonne Key Attribute, cochez les cases à côté des colonnes que vous souhaitez vérifier en utilisant la méthode de correspondance définie, Firstname, Email, City et ZipCode dans cet exemple.
  7. Dans la colonne Matching Type, paramétrez les méthodes de correspondance que vous souhaitez appliquer pour chaque colonne sélectionnée.
    Dans cet exemple, Levenshtein est utilisé comme méthode de correspondance pour les colonnes FirstName, Email et ZipCode, le Double Metaphone sera utilisé comme méthode de correspondance pour la colonne City.
    Paramétrez ensuite les distances minimale et maximale pour la méthode Levenshtein. Dans cette méthode, la distance est le nombre de changements de caractères (insertion, suppression ou substitution) devant être effectués pour que l'entrée corresponde entièrement à la référence. Dans cet exemple, l'objectif est de faire en sorte que la distance minimale soit égale à 0, et que la distance maximale soit égale à 2. Cela conduira à l'écriture en sortie de toutes les entrées des colonnes FirstName, Email et ZipCode qui correspondent exactement ou ont au plus deux modifications de caractères. Il n'y a ni distance minimale, ni distance maximale à paramétrer pour le Double Metaphone, car cette méthode de correspondance est basée sur les divergences phonétiques dans les données d'entrée.
  8. Double-cliquez sur le premier tFileOutputExcel afin d'afficher sa vue Basic settings et définir ses propriétés.
  9. Paramétrez le répertoire de destination ainsi que le nom de la feuille (Sheet name), et cochez la case Include header.
  10. Répétez l'opération pour le deuxième tFileOutputExcel.

Exécuter le Job

Procédure

Enregistrez le Job et appuyez sur F6 pour l'exécuter.

Résultats

Le tFuzzyUniqRow utilise la méthode de Levenshtein pour comparer séparément chacune des trois colonnes définies, il utilise la méthode du Double Metaphone, afin de comparer les données de la colonne City, puis passer la ligne unique et les doublons aux fichiers de sortie définis. Dans notre exemple, les deux premières lignes correspondent, cependant, la deuxième ligne ira dans la sortie duplicates.

La colonne FID générée fournit un identifiant de référence de l'enregistrement original auquel se réfère l'enregistrement actuel.

La troisième ligne est unique et ira dans la sortie uniques.

La colonne UID générée contient les identifiants générés pour l'enregistrement principal.

Correspondance floue entre deux colonnes et écriture en sortie des valeurs de correspondance, de correspondance possible et de non correspondance

Déprécié·e : Le composant tBlockedFuzzyJoin est déprécié depuis la version 7.3 (GA, généralement disponible).

Ce composant est disponible dans Talend Data Management Platform, Talend Big Data Platform, Talend Real Time Big Data Platform, Talend Data Services Platform, Talend MDM Platform et Talend Data Fabric.

Ce scénario Java décrit un Job comprenant six composants, ayant pour but de :

  • faire correspondre chaque numéro de groupe de la colonne grp aux entrées ayant exactement les mêmes valeurs dans le fichier d'entrée de référence,

  • vérifier la distance d'édition entre les entrées de la colonne firstname d'un fichier d'entrée et du fichier d'entrée de référence.

Les sorties de ces deux types de correspondances sont écrites dans trois fichiers de sortie : le premier pour les valeurs de correspondance, le deuxième pour les valeurs de correspondance possible, et le troisième pour les valeurs n'ayant aucune correspondance dans le fichier de référence.

Dans ce scénario, vous avez déjà stocké les schémas principaux et de référence dans le Repository. Pour plus d'informations concernant le stockage des schémas de métadonnées dans la vue Repository, consultez Gestion des métadonnées dans le Studio.

Le fichier d'entrée contient quatre colonnes : grp, gender, firstname et count. Les données dans ce fichier d'entrée sont parfois en doublons, contiennent des noms écrits différemment, ou mal orthographiés, ou différentes informations sur un même client.

Configurer le Job

Procédure

  1. Dans l'arborescence du Repository, développez les nœuds Metadata, puis File Excel où vous avez stocké le schéma principal d'entrée, puis glissez-le dans l'espace de modélisation graphique.

    Un composant tFileInputExcel contenant votre schéma s'affiche dans l'espace de modélisation.

  2. Répétez l'opération avec le schéma d'entrée de référence afin d'afficher un tFileInputExcel contenant le schéma de référence, dans l'espace de modélisation graphique.
  3. Déposez un tBlockedFuzzyJoin et trois tLogRow de la Palette dans l'espace de modélisation graphique.
  4. Reliez les fichiers Excel principaux et de référence d'entrée au tBlockedFuzzyJoin à l'aide de liens Main. Le lien entre le fichier de référence Excel d'entrée et le tBlockedFuzzyJoin s'affiche dans l'espace de modélisation comme un lien Lookup.
  5. Reliez le tBlockedFuzzyJoin aux trois composants tLogRow en utilisant les liens Matches, Possible Matches et Non Matches.

Configurer les composants d'entrée

Procédure

Double-cliquez sur les composants Excel principal et de référence afin d'afficher leur vue Basic settings.

La capture d'écran ci-dessous montre les propriétés du fichier d'entrée principal.

La capture d'écran ci-dessous montre les propriétés du fichier d'entrée de référence.