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.
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 |
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. |