MergeRecord 2025.5.31.15

Pacote

org.apache.nifi | nifi-standard-nar

Descrição

Esse processador mescla vários registros orientados para FlowFiles em um único FlowFile que contém todos os registros dos FlowFiles de entrada. Esse processador funciona criando “compartimentos” e adicionando FlowFiles a esses compartimentos até que estejam cheios. Quando um compartimento estiver cheio, todos os FlowFiles serão combinados em um único FlowFile de saída, e esse FlowFile será encaminhado para a relação “merged”. Um compartimento consistirá potencialmente em muitos “FlowFiles semelhantes”. Para que dois FlowFiles sejam considerados “FlowFiles semelhantes”, eles devem ter o mesmo esquema (conforme identificado pelo Record Reader) e, se a propriedade <Nome de atributo de correlação> estiver definida, o mesmo valor para o atributo especificado. Consulte Uso do processador e Detalhes adicionais para obter mais informações.

Tags

content, correlation, event, merge, record, stream

Requisito de entrada

REQUIRED

Oferece suporte a propriedades dinâmicas confidenciais

falso

Propriedades

Propriedade

Descrição

Estratégia de atributo

Determina quais atributos do FlowFile devem ser adicionados ao pacote. Se a opção “Manter todos os atributos únicos” for selecionada, qualquer atributo em qualquer FlowFile que seja agrupado será mantido, a menos que seu valor entre em conflito com o valor de outro FlowFile. Se a opção “Manter todos os atributos únicos” for selecionada, somente os atributos existentes em todos os FlowFiles do pacote, com o mesmo valor, serão preservados.

correlation-attribute-name

Se especificado, dois FlowFiles serão agrupados somente se tiverem o mesmo valor para esse atributo. Se não for especificado, os FlowFiles serão agrupados pela ordem em que forem retirados da fila.

max-bin-age

A idade máxima de um compartimento que acionará um compartimento para ser concluído. O formato esperado é <duração> <unidade de tempo>, onde <duração> é um número inteiro positivo e a unidade de tempo é uma entre segundos, minutos e horas

max-bin-size

O tamanho máximo do pacote. Se não for especificado, não há máximo. Esse é um “limite flexível”, pois se um FlowFile for adicionado a um compartimento, todos os registros nesse FlowFile serão adicionados, portanto, esse limite pode ser excedido em até o número de bytes no último FlowFile de entrada.

max-records

O número máximo de registros a serem incluídos em um compartimento. Esse é um “limite flexível”, pois se um FlowFIle for adicionado a um compartimento, todos os registros desse FlowFile serão adicionados, de modo que esse limite pode ser excedido até o número de registros no último FlowFile de entrada.

max.bin.count

Especifica o número máximo de compartimentos que podem ser mantidos na memória em um determinado momento. Esse número não deve ser menor do que o número máximo de threads simultâneas para esse processador, ou os compartimentos criados geralmente consistirão apenas em um único FlowFile de entrada.

merge-strategy

Especifica o algoritmo usado para mesclar registros. O algoritmo “Defragment” combina fragmentos associados por atributos em um único FlowFile coeso. O “Bin-Packing Algorithm” gera um FlowFile preenchido por FlowFiles

min-bin-size

O tamanho mínimo do compartimento

min-records

O número mínimo de registros a serem incluídos em um compartimento

record-reader

Especifica o Controller Service a ser usado para ler os dados recebidos

record-writer

Especifica o Controller Service a ser usado para gravar os registros

Relações

Nome

Descrição

failure

Se o pacote não puder ser criado, todos os FlowFiles usados para criar o pacote serão transferidos para a falha

merged

O FlowFile contendo os registros mesclados

original

Os FlowFiles usados para criar o pacote

Grava atributos

Nome

Descrição

record.count

O FlowFile mesclado terá um atributo “record.count” indicando o número de registros gravados no FlowFile.

mime.type

O tipo MIME indicado pelo Record Writer

merge.count

O número de FlowFiles mesclados nesse pacote

merge.bin.age

A idade do compartimento, em milissegundos, quando ele foi mesclado e gerado. Na verdade, esse é o maior período de tempo que qualquer FlowFile desse pacote permaneceu aguardando nesse processador antes de ser emitido

merge.uuid

O UUID do FlowFile mesclado que será adicionado aos atributos dos FlowFiles originais

merge.completion.reason

Esse processador permite que vários limites sejam configurados para mesclar FlowFiles. Esse atributo indica qual dos limites fez com que os FlowFiles fossem mesclados. Para obter uma explicação de cada um dos valores possíveis e seus significados, consulte a documentação/uso do processador e a página “Detalhes adicionais”.

<Atributos do Record Writer>

Qualquer atributo que o Record Writer configurado retornar será adicionado ao FlowFile.

Casos de uso

Combine vários registros arbitrários para criar um arquivo único e maior

Casos de uso que envolvem outros componentes

Combine vários registros que têm o mesmo valor para um determinado campo nos dados, a fim de criar um arquivo único e maior

Consulte também