Перейти к основному содержимому

DeduplicateRecord

Описание

Этот процессор удаляет дубликаты записей в наборе данных. Он может работать на основе отдельного файла с использованием хеш-набора в памяти или фильтра Блума. При настройке с распределенным кэшем записей он удаляет дубликаты записей между несколькими файлами.

Теги

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

Свойства

НазваниеОписание
Deduplication StrategyСтратегия, используемая для обнаружения и маршрутизации повторяющихся записей. Опция обнаружения дубликатов в одном FlowFile работает в памяти, а при обнаружении в нескольких FlowFiles используется распределённый кэш карт.
Distributed Map Cache clientЭто свойство необходимо, если для стратегии дедупликации установлено значение «несколько файлов». Кэш-память для каждой записи будет атомарно проверять наличие ключа кэша и, если его нет, устанавливать его.This Property is only considered if the [Deduplication Strategy] Property has a value of "Multiple Files".
Cache IdentifierНеобязательное поле языка выражений, которое переопределяет вычисляемый ключ кэша записи. В этом поле доступен дополнительный атрибут: ${" + RECORD_HASH_VALUE_ATTRIBUTE + "}, который содержит ключ кэша, полученный из динамических свойств (если они заданы) или полей записи. Поддерживает язык выражений: true (будет оцениваться с использованием атрибутов файла потока и переменных среды)This Property is only considered if the [Deduplication Strategy] Property has a value of "Multiple Files".
Cache the Entry IdentifierДля каждой записи проверьте, существует ли идентификатор кэша в распределённом кэше карт. Если он не существует и это свойство имеет значение true, поместите идентификатор в кэш.This Property is only considered if the [Distributed Map Cache client] Property has a value specified.
Record ReaderУказывает службу контроллера, используемую для чтения входящих данных
Record WriterУказывает службу контроллера, используемую для записи данных
Include Zero Record FlowFilesЕсли файл потока, отправленный в отношения дубликатов или не-дубликатов, не содержит записей, значение false в этом свойстве приводит к удалению файла потока. В противном случае генерируется пустой файл потока.
Record Hashing AlgorithmАлгоритм, используемый для хеширования ключа кэша.
Filter TypeФильтр, используемый для определения того, встречалась ли запись ранее, на основе соответствующих критериев RecordPath. Если выбран хэш-набор, для дедупликации всех встреченных записей будет использоваться объект Java HashSet. Если выбран фильтр Блума, будет использоваться фильтр Блума. Фильтр Блума требует меньше памяти, но может давать ложные срабатывания.This Property is only considered if the [Deduplication Strategy] Property has a value of "Single File".
Filter Capacity HintОценка общего количества уникальных записей, которые необходимо обработать. Чем точнее это число, тем меньше будет ложных срабатываний BloomFilter.This Property is only considered if the [Filter Type] Property has a value of "BloomFilter".
Bloom Filter CertaintyЖелаемая вероятность ложного срабатывания при использовании типа BloomFilter. Например, значение 0,05 гарантирует пятипроцентную вероятность ложного срабатывания. Чем ближе к 1 это значение, тем точнее результат за счет большего использования дискового пространства.

Взаимосвязи

  • duplicate: Записи, обнаруженные как дубликаты, направляются в эту связь.
  • non-duplicate: Записи, не найденные в кэше, направляются в эту связь.
  • failure: Если не удается связаться с кэшем, файл FlowFile будет оштрафован и отправлен в эту связь
  • original: Исходный входной файл FlowFile отправляется в эту связь, если не возникает фатальная ошибка.