Partager via


Transformation de regroupement approximatif

S’applique à : SQL Server SSIS Integration Runtime dans Azure Data Factory

La transformation de regroupement probable effectue des tâches de nettoyage des données en identifiant les lignes de données susceptibles d'être des doublons et en sélectionnant une ligne canonique de données à utiliser pour standardiser les données.

Notes

Pour plus d’informations sur la transformation de regroupement floue, y compris les limitations en termes de performances et de mémoire, consultez le livre blanc, Présentation des transformations Fuzzy Lookup (recherche approximative) et Fuzzy Grouping (regroupement approximatif) dans les services DTS (Data Transformation Services) de SQL Server 2005.

La transformation Regroupement probable nécessite une connexion à une instance de SQL Server pour créer les tables temporaires SQL Server nécessaires à l'algorithme de transformation. La connexion doit correspondre à un utilisateur disposant de l'autorisation de créer des tables dans la base de données.

Pour configurer la transformation, vous devez sélectionner les colonnes d’entrée à utiliser pendant l’identification des doublons, et vous devez sélectionner le type de correspondance (approximative ou exacte) pour chaque colonne. Une correspondance exacte garantit que seules les lignes possédant des valeurs identiques dans cette colonne seront regroupées. La correspondance exacte peut être appliquée aux colonnes de n’importe quel type de données Integration Services, à l’exception de DT_TEXT, DT_NTEXT et DT_IMAGE. Une correspondance approximative regroupe des lignes ayant à peu près les mêmes valeurs. La méthode utilisée pour la correspondance approximative des données est basée sur un score de similarité spécifié par l'utilisateur. Seules les colonnes avec les types de données DT_WSTR et DT_STR peuvent être utilisées dans la correspondance approximative. Pour plus d’informations, consultez Types de données Integration Services.

La sortie de transformation comprend toutes les colonnes d'entrée, une ou plusieurs colonnes avec des données standardisées et une colonne contenant le score de similarité. Le score est représenté par une valeur décimale entre 0 et 1. La ligne canonique obtient le score de 1. Les scores des autres lignes dans le regroupement probable indiquent leur degré de correspondance avec cette ligne canonique. Plus le score se rapproche de 1, plus la ligne correspond à la ligne canonique. Si le regroupement probable comprend des lignes qui sont des doublons exacts de la ligne canonique, ces lignes ont également pour score la valeur 1. La transformation ne supprime pas les lignes dupliquées, mais les regroupe en créant une clé qui associe la ligne canonique à des lignes similaires.

La transformation produit une ligne de sortie pour chaque ligne d'entrée, avec les colonnes supplémentaires suivantes :

  • _key_in, une colonne qui identifie chaque ligne de manière unique.

  • _key_out, une colonne qui identifie un groupe de lignes dupliquées. La colonne _key_out a la même valeur que la colonne _key_in dans la ligne de données canonique. Les lignes ayant une valeur identique dans _key_out font partie du même groupe. La valeur _key_outpour un groupe correspond à la valeur _key_in dans la ligne de données canonique.

  • _score, valeur comprise entre 0 et 1, qui indique la similarité de la ligne d’entrée avec la ligne canonique.

Il s'agit des noms de colonne par défaut ; vous pouvez configurer la transformation de regroupement probable pour utiliser d'autres noms. La sortie fournit également un score de similarité pour chaque colonne participant à un regroupement probable.

La transformation de regroupement probable comprend deux fonctionnalités de personnalisation du regroupement qu'elle effectue : les séparateurs de jetons et les seuils de similarité. La transformation fournit un ensemble par défaut de délimiteurs utilisés pour marquer des données, mais vous pouvez ajouter de nouveaux délimiteurs pour améliorer la création de jetons pour vos données.

Le seuil de similarité indique le degré de précision avec lequel la transformation identifie les doublons. Les seuils de similarité peuvent être définis au niveau du composant et de la colonne. Le seuil de similarité n'est disponible que pour les colonnes participant à une correspondance approximative. La plage de similarité va de 0 à 1. Plus le seuil s'approche de 1, plus les lignes et les colonnes doivent être similaires pour être répertoriées comme doublons. Vous spécifiez le seuil de similarité en définissant la propriété MinSimilarity au niveau du composant et de la colonne. Pour obtenir la similarité spécifiée au niveau du composant, toutes les lignes doivent montrer une similarité à travers toutes les colonnes qui est supérieure ou égale au seuil de similarité spécifié au niveau du composant.

La transformation de regroupement probable calcule les mesures internes de similarité ; les lignes moins similaires à la valeur spécifiée dans MinSimilarity ne sont pas regroupées.

Pour identifier un seuil de similarité qui fonctionne pour vos données, vous pouvez avoir à appliquer la transformation de regroupement probable plusieurs fois, avec des seuils de similarité minimale différents. Lors de l'exécution, les colonnes de score dans la sortie de la transformation contiennent les scores de similarité pour chaque ligne d'un groupe. Vous pouvez utiliser ces valeurs pour identifier le seuil de similarité approprié pour vos données. Si vous voulez augmenter la similarité, vous devez donner à MinSimilarity une valeur supérieure à celle des colonnes de score.

Vous pouvez personnaliser le regroupement effectué par la transformation en définissant les propriétés des colonnes dans l'entrée de la transformation du regroupement probable. Par exemple, la propriété FuzzyComparisonFlags spécifie comment la transformation compare les données de chaîne dans une colonne, et la propriété ExactFuzzy indique si la transformation effectue une correspondance approximative ou exacte.

Vous pouvez configurer la quantité de mémoire utilisée par la transformation de regroupement probable en définissant la propriété personnalisée MaxMemoryUsage. Vous pouvez spécifier le nombre de mégaoctets (Mo) ou utiliser la valeur 0 pour permettre à la transformation d'utiliser une quantité dynamique de mémoire en fonction de ses besoins et de la mémoire physique disponible. La propriété personnalisée MaxMemoryUsage peut être mise à jour par une expression de la propriété au moment du chargement du package. Pour plus d’informations, consultez Expressions Integration Services (SSIS), Utiliser des expressions de propriété dans des packages et Propriétés personnalisées des transformations.

Cette transformation a une entrée et une sortie. Elle ne prend pas en charge de sortie d'erreur.

Comparaison de lignes

Lorsque vous configurez la transformation de regroupement probable, vous pouvez spécifier l'algorithme de comparaison utilisé par la transformation pour comparer les lignes dans l'entrée de transformation. Si vous définissez la propriété Exhaustive comme ayant la valeur true, la transformation compare chaque ligne de l’entrée à chaque autre ligne de l’entrée. Cet algorithme de comparaison peut produire des résultats plus précis, mais il peut ralentir la transformation, sauf si le nombre de lignes dans l'entrée est peu élevé. Pour éviter les problèmes de performance, il est recommandé de définir la propriété Exhaustive avec la valeur true seulement au cours du développement du package.

Tables et index temporaires

Au moment de l’exécution, la transformation de regroupement probable crée des objets temporaires, par exemple, des tables et des index, parfois de grande taille, dans la base de données SQL Server à laquelle la transformation se connecte. La taille des tables et des index est proportionnelle au nombre de lignes dans l'entrée de la transformation et au nombre de jetons créés par la transformation de regroupement probable.

La transformation exécute également des requêtes sur les tables temporaires. Vous devez donc connecter la transformation de regroupement probable à une instance de SQL Server hors production, notamment si le serveur de production a un espace disque disponible limité.

Les performances de cette transformation peuvent s'améliorer si les tables et les index qu'elle utilise sont situés sur l'ordinateur local.

Configuration de la transformation de regroupement probable

Vous pouvez définir les propriétés par le biais du concepteur SSIS ou par programmation.

Pour plus d'informations sur les propriétés définissables dans la boîte de dialogue Éditeur avancé ou par programmation, cliquez sur l'une des rubriques suivantes :

Pour plus d'informations sur la définition des propriétés de cette tâche, cliquez sur l'une des rubriques suivantes :

Éditeur de transformation de regroupement probable (onglet Gestionnaire de connexions)

Utilisez l'onglet Gestionnaire de connexions de la boîte de dialogue Éditeur de transformation de regroupement probable pour sélectionner une connexion existante ou en créer une.

Notes

Le serveur spécifié par la connexion doit exécuter SQL Server. La transformation de regroupement probable crée des objets de données temporaires dans tempdb qui peuvent être aussi volumineux que l’ensemble de l’entrée de la transformation. Au cours de son exécution, la transformation envoie des requêtes serveur par rapport aux objets temporaires, ce qui peut affecter les performances générales du serveur.

Options

Gestionnaire de connexions OLE DB
Sélectionnez une connexion OLE DB existante en utilisant la zone de liste, ou créez une connexion en utilisant le bouton Nouvelle .

Nouveau
Crée une connexion en utilisant la boîte de dialogue Configurer le gestionnaire de connexions OLE DB .

Éditeur de transformation de regroupement approximatif (onglet Colonnes)

L'onglet Colonnes de la boîte de dialogue Éditeur de transformation de regroupement approximatif permet de spécifier les colonnes utilisées pour regrouper les lignes comportant des doublons.

Options

Colonnes d'entrée disponibles
Sélectionnez dans cette liste les colonnes d'entrée utilisées pour regrouper les lignes comportant des doublons.

Nom
Permet d'afficher le nom des colonnes d'entrée disponibles.

Transfert direct
Permet d'indiquer s'il est nécessaire d'inclure la colonne d'entrée dans la sortie de la transformation. Toutes les colonnes utilisées pour le regroupement sont automatiquement copiées dans la sortie. Vous pouvez inclure des colonnes supplémentaires en activant cette colonne.

Colonne d'entrée
Choisissez l’une des colonnes d’entrée précédemment sélectionnées dans la liste Colonnes d’entrée disponibles .

Alias de sortie
Entrez un nom descriptif pour la colonne de sortie correspondante. Par défaut, cette colonne porte le même nom que la colonne d'entrée.

Grouper les alias de sortie
Entrez un nom descriptif pour la colonne qui va contenir la valeur canonique des doublons groupés. Par défaut, cette colonne de sortie porte le nom de la colonne d'entrée suivi de la mention « _clean ».

Type de correspondance
Sélectionnez la correspondance floue ou exacte. Avec une correspondance approximative, les lignes sont considérées comme des doublons si elles sont suffisamment similaires dans toutes les colonnes. Si vous spécifiez une correspondance exacte pour certaines colonnes, seules les lignes contenant des valeurs identiques dans les colonnes associées à une correspondance exacte seront considérées comme des doublons probables. Par conséquent, si vous savez qu'une colonne ne contient aucune erreur ni incohérence, vous pouvez opter pour la correspondance exacte sur cette colonne afin d'accroître la précision de la correspondance approximative sur d'autres colonnes.

Similarité minimale
Définissez, à l'aide du curseur, le seuil de similarité au niveau de la jointure. Plus la valeur est proche de 1, plus la valeur de recherche doit être proche de la valeur source pour constituer une correspondance. Si vous augmentez le seuil, vous pouvez améliorer la vitesse de correspondance étant donné qu'un plus petit nombre d'enregistrements candidats doit être pris en compte.

Alias de sortie de similarité
Spécifiez le nom d'une nouvelle colonne de sortie qui contient le score de similarité de la jointure sélectionnée. Si vous ne définissez pas cette valeur, la colonne de sortie n'est pas créée.

Chiffres
Spécifiez l'importance des premiers et derniers chiffres en comparant les données de la colonne. Par exemple, si les premiers chiffres sont significatifs, « 123 Main Street » ne sera pas groupé avec « 456 Main Street ».

Value Description
Aucun Les premiers et derniers chiffres ne sont pas significatifs.
Premiers Seuls les premiers chiffres sont significatifs.
Derniers Seuls les derniers chiffres sont significatifs.
LeadingAndTrailing Les premiers et derniers chiffres sont significatifs.

Indicateurs de comparaison
Pour plus d’informations sur les options de comparaison de chaînes, consultez Comparaison des données chaînes.

Éditeur de transformation de regroupement probable (onglet Avancé).

Utilisez l'onglet Avancé de la boîte de dialogue Éditeur de transformation de regroupement probable pour spécifier les colonnes d'entrée et de sortie, définir des seuils de similarité et des séparateurs.

Notes

Les propriétés Exhaustive et MaxMemoryUsage de la transformation de regroupement approximatif ne sont pas disponibles dans l' Éditeur de transformation de regroupement approximatif, mais elles peuvent être définies à l'aide de l' Éditeur avancé. Pour plus d'informations sur ces propriétés, consultez la section Transformation de regroupement approximatif dans Transformation Custom Properties.

Options

Nom de la colonne clé d'entrée
Spécifiez le nom d'une colonne de sortie qui contient l'identificateur unique de chaque ligne d'entée. La colonne _key_in a une valeur qui identifie chaque ligne de manière unique.

Nom de la colonne clé de sortie
Spécifiez le nom d'une colonne de sortie qui contient l'identificateur unique de la ligne canonique d'un groupe de lignes dupliquées. La colonne _key_out correspond à la valeur _key_in de la ligne de données canonique.

Nom de colonne du score de similarité
Spécifiez un nom qui contient le score de similarité. Le score de similarité est une valeur comprise entre 0 et 1 qui indique le niveau de similarité avec la ligne canonique. Plus le score se rapproche de 1, plus la ligne correspond à la ligne canonique.

Seuil de similarité
Définissez le seuil de similarité au moyen du curseur. Plus le seuil est proche de 1, plus la similarité entre les lignes est grande pour se qualifier comme lignes dupliquées. L'augmentation du seuil peut accélérer les recherches du fait que moins de candidats doivent être évalués.

Séparateurs de jetons
La transformation fournit un ensemble de séparateurs par défaut pour marquer des données, mais vous devez ajouter ou supprimer des séparateurs en modifiant la liste en fonction des besoins.

Voir aussi

Transformation de recherche floue
Transformations Integration Services