MergeRecord 2025.5.31.15¶
번들¶
org.apache.nifi | nifi-standard-nar
설명¶
이 프로세서는 여러 개의 레코드 지향 FlowFiles 을 입력된 FlowFiles 의 모든 레코드를 포함하는 단일 FlowFile 로 병합합니다. 이 프로세서는 ‘빈’을 생성한 다음 이 빈이 가득 찰 때까지 FlowFiles 을 추가하는 방식으로 작동합니다. 빈이 가득 차면 FlowFiles 은 모두 단일 출력 FlowFile 로 합쳐지고 해당 FlowFile 은 ‘병합’ 관계로 라우팅됩니다. 빈은 잠재적으로 많은 ‘like FlowFiles’로 구성됩니다. 2개의 FlowFiles가 ‘like FlowFiles’로 간주되려면, 2개의 스키마가 동일해야 하며(Record Reader가 식별한 대로), <Correlation Attribute Name> 속성이 설정된 경우 지정된 특성에 대해 동일한 값을 가져야 합니다. 자세한 내용은 프로세서 사용 및 추가 세부 정보를 참조하십시오. 참고: 이 프로세서는 Scheduling Strategy에 대해 cron 구동으로 구성되지 않아야 합니다.
입력 요구 사항¶
REQUIRED
민감한 동적 속성 지원¶
false
속성¶
속성 |
설명 |
---|---|
Attribute Strategy |
번들에 추가할 FlowFile 특성을 결정합니다. ‘Keep All Unique Attributes’를 선택하면 번들로 제공되는 FlowFile 의 모든 특성은 해당 값이 다른 FlowFile 의 값과 충돌하지 않는 한 유지됩니다. ‘Keep Only Common Attributes’를 선택하면 번들의 모든 FlowFiles 에 동일한 값으로 존재하는 특성만 보존됩니다. |
correlation-attribute-name |
지정하면 이 특성의 값이 같은 경우에만 2개의 FlowFiles 이 함께 묶입니다. 지정하지 않으면 FlowFiles 이 큐에서 가져온 순서대로 번들링됩니다. |
max-bin-age |
빈이 완료되도록 트리거하는 빈의 최대 보관 기간입니다. 예상 형식은 <기간> <시간 단위>이며, 여기서 <기간> 은 양의 정수이고 시간 단위는 초, 분, 시간 중 하나입니다 |
max-bin-size |
번들의 최대 크기입니다. 지정하지 않으면 최대값이 없습니다. 이는’소프트 제한’으로, FlowFile 을 빈에 추가하면 해당 FlowFile 의 모든 레코드가 추가되므로 이 제한은 마지막 입력 FlowFile 의 바이트 수까지 초과할 수 있습니다. |
max-records |
빈에 포함할 최대 레코드 수입니다. 이는 ‘소프트 제한’으로, FlowFIle 을 빈에 추가하면 해당 FlowFile 의 모든 레코드가 추가되므로 이 제한은 마지막 입력 FlowFile 의 레코드 수까지 초과될 수 있습니다. |
max.bin.count |
한 번에 메모리에 보관할 수 있는 최대 빈 수를 지정합니다. 이 숫자는 이 프로세서의 최대 동시 스레드 수보다 작아서는 안 되며, 그렇지 않으면 생성되는 빈은 1개의 수신 FlowFile 로만 구성되는 경우가 많습니다. |
merge-strategy |
레코드를 병합하는 데 사용되는 알고리즘을 지정합니다. ‘Defragment’ 알고리즘은 특성별로 연관된 조각을 다시 1개의 응집력 있는 FlowFile 로 결합합니다. ‘빈 패킹 알고리즘’은 임의로 선택한 FlowFile 로 채워진 FlowFiles |
min-bin-size |
빈의 최소 크기 |
min-records |
빈에 포함할 최소 레코드 수입니다 |
record-reader |
수신 데이터를 읽는 데 사용할 컨트롤러 서비스를 지정합니다 |
record-writer |
레코드 작성에 사용할 컨트롤러 서비스를 지정합니다 |
관계¶
이름 |
설명 |
---|---|
실패 |
번들을 생성할 수 없는 경우 번들을 생성하는 데 사용되었던 모든 FlowFiles 은 이 실패로 변환됩니다 |
병합 |
병합된 레코드가 포함된 FlowFile |
원본 |
번들 생성에 사용되는 FlowFiles |
Writes 특성¶
이름 |
설명 |
---|---|
record.count |
병합된 FlowFile 에는 FlowFile 에 기록된 레코드의 수를 나타내는 ‘record.count’ 특성이 있습니다. |
mime.type |
Record Writer가 나타내는 MIME 유형 |
merge.count |
이 번들에 병합된 FlowFiles 의 수입니다 |
merge.bin.age |
병합되어 출력된 빈의 수명(밀리초 단위)입니다. 실제로 이것은 이 번들의 FlowFile 이 출력되기 전에 이 프로세서에서 대기한 가장 긴 시간입니다 |
merge.uuid |
원래 FlowFiles 특성에 추가될 병합된 FlowFile 의 UUID |
merge.completion.reason |
이 프로세서를 사용하면 FlowFiles 병합을 위해 여러 임계값을 구성할 수 있습니다. 이 특성은 임계값 중 어떤 임계값으로 인해 FlowFiles 이 병합되었는지를 나타냅니다. 사용 가능한 각 값과 그 의미에 대한 설명은 프로세서의 사용법/설명서를 참조하고 ‘추가 세부 정보’ 페이지를 참조하십시오. |
<Record Writer의 특성> |
구성된 Record Writer가 반환하는 모든 특성은 FlowFile 에 추가됩니다. |
사용 사례¶
여러 개의 임의의 레코드를 결합하여 1개의 큰 파일을 생성합니다 |
다른 구성 요소가 포함된 사용 사례¶
데이터의 특정 필드에 대해 동일한 값을 가진 많은 레코드를 결합하여 더 큰 단일 파일을 생성합니다 |