DeduplicateRecord 2025.5.31.15¶
번들¶
org.apache.nifi | nifi-standard-nar
설명¶
이 프로세서는 레코드 세트 내의 개별 레코드의 중복을 제거합니다. 인메모리 해시셋 또는 블룸 필터를 사용하여 파일 단위로 작업할 수 있습니다. 분산 맵 캐시로 구성하면 여러 파일에 걸쳐 레코드의 중복을 제거합니다.
입력 요구 사항¶
REQUIRED
민감한 동적 속성 지원¶
false
속성¶
속성 |
설명 |
---|---|
블룸 필터 불확실성 |
BloomFilter 유형을 사용할 때 원하는 오탐 확률입니다. 예를 들어, 0.05 값을 사용하면 결과가 오탐일 확률이 5%로 보장됩니다. 이 값을 1에 가깝게 설정할수록 저장소 공간을 더 많이 사용하는 대신 결과 세트가 더 정확해집니다. |
캐시 식별자 |
레코드의 계산된 캐시 키를 재정의하는 선택적 표현식 언어 필드입니다. 이 필드에는 동적 속성(설정된 경우) 또는 레코드 필드에서 파생된 캐시 키가 포함된 ${record.hash.value} 라는 추가 특성을 사용할 수 있습니다. |
deduplication-strategy |
중복 레코드를 감지하고 라우팅하는 데 사용할 전략입니다. 단일 FlowFile 에서 중복을 감지하는 옵션은 메모리 내에서 작업하는 반면, 여러 FlowFiles 에 걸친 중복 감지는 분산 매핑 캐시를 활용합니다. |
distributed-map-cache |
이 속성은 중복 제거 전략이 ‘multiple files’로 설정된 경우에 필수입니다. 맵 캐시는 각 레코드에 대해 캐시 키가 존재하는지 원자적으로 확인하고 존재하지 않는 경우 이를 설정합니다. |
filter-capacity-hint |
처리할 총 고유 레코드 수에 대한 추정치입니다. 이 숫자가 정확할수록 BloomFilter 에 대한 오탐이 줄어들게 됩니다. |
filter-type |
일치하는 RecordPath 조건에 따라 이전에 표시된 적이 있는 레코드인지 여부를 확인하는 데 사용되는 필터입니다. 해시 세트를 선택하면 Java HashSet 오브젝트를 사용하여 발견된 모든 레코드를 중복 제거합니다. 블룸 필터 옵션을 선택하면 블룸 필터가 사용됩니다. 블룸 필터 옵션은 메모리 사용량이 적지만 오탐이 발생할 가능성이 있습니다. |
include-zero-record-flowfiles |
중복 또는 비중복 관계로 전송된 FlowFile 에 레코드가 없는 경우 이 속성의 값이 |
put-cache-identifier |
각 레코드에 대해 캐시 식별자가 분산된 맵 캐시에 존재하는지 확인합니다. 존재하지 않고 이 속성이 true이면 식별자를 캐시에 넣습니다. |
record-hashing-algorithm |
캐시 키를 해시하는 데 사용되는 알고리즘입니다. |
record-reader |
수신 데이터를 읽는 데 사용할 컨트롤러 서비스를 지정합니다 |
record-writer |
레코드 작성에 사용할 컨트롤러 서비스를 지정합니다 |
관계¶
이름 |
설명 |
---|---|
중복 |
중복으로 감지된 레코드는 이 관계로 라우팅됩니다. |
실패 |
캐시와 통신할 수 없는 경우 FlowFile 에 페널티가 적용되고 이 관계로 라우팅됩니다 |
중복되지 않음 |
캐시에서 찾을 수 없는 레코드는 이 관계로 라우팅됩니다. |
원본 |
치명적인 오류가 발생하지 않는 한 원래 입력 FlowFile 은 이 관계로 전송됩니다. |
Writes 특성¶
이름 |
설명 |
---|---|
record.count |
대상 FlowFile 에 기록된 레코드 수입니다. |