DeduplicateRecord 2025.5.31.15

Bundle

org.apache.nifi | nifi-standard-nar

Description

Ce processeur dédouble les enregistrements individuels au sein d’un ensemble d’enregistrements. Il peut opérer fichier par fichier à l’aide d’un jeu de hachages en mémoire ou d’un filtre de Bloom. En cas de configuration avec un cache de mappage distribué, il déduplique les enregistrements sur plusieurs fichiers.

Balises

change, dedupe, distinct, dupe, duplicate, filter, hash, modify, record, replace, text, unique, update

Exigences en matière d’entrées

REQUIRED

Prend en charge les propriétés dynamiques sensibles

false

Propriétés

Propriété

Description

bloom-filter-certainty

Probabilité de faux positifs souhaitée lors de l’utilisation du type BloomFilter. L’utilisation d’une valeur 0,05, par exemple, garantit une probabilité de cinq pour cent que le résultat soit un faux positif. Plus cette valeur est définie sur un chiffre proche de 1, plus le résultat est précis, au détriment d’une plus grande utilisation de l’espace de stockage.

cache-identifier

Champ de langue d’expression facultatif qui remplace la clé de cache calculée de l’enregistrement. Ce champ dispose d’un attribut supplémentaire : ${record.hash.value}, qui contient la clé de cache dérivée des propriétés dynamiques (le cas échéant) ou des champs d’enregistrement.

deduplication-strategy

Stratégie à utiliser pour détecter et router les enregistrements en double. L’option de détection des doublons dans un seul FlowFile s’effectue en mémoire, tandis que la détection dans plusieurs FlowFiles utilise un cache de mappage distribué.

distributed-map-cache

Cette propriété est nécessaire lorsque la stratégie de déduplication est définie sur « multiple files » (plusieurs fichiers). Pour chaque enregistrement, le cache de mappage vérifie de manière atomique si la clé de cache existe et, si ce n’est pas le cas, il la définit.

filter-capacity-hint

Estimation du nombre total d’enregistrements uniques à traiter. Plus ce nombre est précis, moins cela produira de faux négatifs sur un BloomFilter.

filter-type

Filtre utilisé pour déterminer si un enregistrement a déjà été vu en fonction des critères RecordPath correspondants. Si l’ensemble de hachage est sélectionné, un objet HashSet Java sera utilisé pour dédupliquer tous les enregistrements trouvés. Si l’option Filtre de Bloom est sélectionnée, un filtre de Bloom sera utilisé. L’option Filtre Bloom est moins gourmande en mémoire, mais présente un risque de faux positifs.

include-zero-record-flowfiles

Si un FlowFile envoyé aux relations de duplication ou de non-duplication ne contient aucun enregistrement, une valeur false pour cette propriété entraîne l’abandon du FlowFile. Dans le cas contraire, le FlowFile vide est émis.

put-cache-identifier

Pour chaque enregistrement, le processeur vérifie si l’identificateur de cache existe dans le cache de mappage distribué. S’il n’existe pas et si cette propriété est définie sur true, l’identificateur est placé dans le cache.

record-hashing-algorithm

Algorithme utilisé pour hacher la clé de cache.

record-reader

Spécifie le Controller Service à utiliser pour la lecture des données entrantes

record-writer

Spécifie le Controller Service à utiliser pour la génération des enregistrements en sortie

Relations

Nom

Description

duplicate

Les enregistrements détectés comme des doublons sont routés vers cette relation.

failure

En cas d’impossibilité de communiquer avec le cache, le FlowFile sera pénalisé et routé vers cette relation.

non-duplicate

Les enregistrements introuvables dans le cache sont routés vers cette relation.

original

Le FlowFile d’entrée d’origine est envoyé à cette relation, sauf en cas d’erreur fatale.

Écrit les attributs

Nom

Description

record.count

Nombre d’enregistrements écrits dans le FlowFile de destination.

Voir aussi :