Skip to main content

MergeRecord

Описание

Этот процессор объединяет несколько FlowFile, ориентированных на запись, в один FlowFile, содержащий все записи входных FlowFile. Процессор работает, создавая "корзины" и добавляя FlowFile в эти корзины до тех пор, пока корзина не будет заполнена. Как только корзина заполнена, все FlowFile объединяются в один выходной FlowFile, и этот FlowFile направляется в отношение 'merged'. Корзина может содержать множество одинаковых FlowFile. Чтобы два FlowFile считались одинаковыми, они должны иметь одинаковую схему (как определено Record Reader) и, если установлено свойство <Correlation Attribute Name>, одинаковое значение для указанного атрибута. Смотрите раздел Processor Usage и Additional Details для получения дополнительной информации. Примечание: этот процессор не должен быть настроен с Cron Driven для стратегии планирования.

Теги

merge, record, content, correlation, stream, event

Свойства

НазваниеОписание
Record ReaderУказывает службу контроллера для чтения входящих данных
Record WriterУказывает службу контроллера для записи данных
Merge StrategyУказывает алгоритм, используемый для объединения записей. Алгоритм «Объединение фрагментов» объединяет фрагменты, связанные атрибутами, в единый связный файл Flow. Алгоритм «Упаковка в контейнеры» генерирует файл Flow, заполненный произвольно выбранными файлами Flow.
Correlation Attribute NameЕсли указано, два файла Flow будут объединены в один контейнер, только если у них одинаковое значение этого атрибута. Если не указано иное, файлы Flow объединяются в пакеты в том порядке, в котором они извлекаются из очереди.
Attribute StrategyОпределяет, какие атрибуты FlowFile следует добавить в пакет. Если выбрано «Сохранить все уникальные атрибуты», то любой атрибут любого FlowFile, который будет добавлен в пакет, будет сохранен, если только его значение не конфликтует со значением из другого FlowFile. Если выбрано «Сохранить только общие атрибуты», то будут сохранены только атрибуты, которые существуют во всех FlowFile в пакете и имеют одинаковое значение.
Minimum Number of RecordsМинимальное количество записей для включения в корзину. Поддерживает язык выражений: true (будет оцениваться только с использованием переменных среды)
Maximum Number of RecordsМаксимальное количество записей для включения в корзину. Это «мягкое ограничение» в том смысле, что если в корзину добавляется файл FlowFIle, то добавляются все записи из этого файла FlowFile, поэтому это ограничение может быть превышено на количество записей в последнем входном файле FlowFile. Поддерживает язык выражений: true (будет оцениваться только с использованием переменных среды)
Minimum Bin SizeМинимальный размер пакета.
Maximum Bin SizeМаксимальный размер пакета. Если не указано иное, максимальный размер не ограничен. Это «мягкий лимит», то есть если в корзину добавляется файл FlowFile, то добавляются все записи из этого файла FlowFile, поэтому этот лимит может быть превышен на количество байт в последнем входном файле FlowFile.
Max Bin AgeМаксимальный возраст корзины, по достижении которого корзина будет считаться завершенной. Ожидаемый формат: <продолжительность> <единица измерения времени>, где <продолжительность> — положительное целое число, а единица измерения времени — секунды, минуты, часы.
Maximum Number of BinsУказывает максимальное количество корзин, которые могут одновременно находиться в памяти. Это число не должно быть меньше максимального количества одновременно выполняемых потоков для этого процессора, иначе создаваемые корзины часто будут состоять только из одного входящего файла FlowFile.

Взаимосвязи

  • failure: Если пакет не может быть создан, все файлы Flow, которые использовались бы для создания пакета, будут перенесены в раздел «Ошибка»
  • original: Файлы потока, которые использовались для создания пакета
  • merged: Файл потока, содержащий объединенные записи