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

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: Файл потока, содержащий объединенные записи