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