PartitionRecord

PartitionRecord

데이터의 구성된 필드를 기준으로 레코드 기반 데이터를 분할(파티셔닝)하는 프로세서예요.

출처: Snowflake 문서 — PartitionRecord

본문

번들 (Bundle)

org.apache.nifi | nifi-standard-nar

설명

데이터의 구성된 필드를 기준으로 레코드 기반 데이터를 분할, 즉 파티셔닝해요. 하나 이상의 속성을 추가해야 해요. 속성의 이름은 추가할 attribute의 이름이고, 속성의 값은 각 Record에 대해 평가할 RecordPath예요. 두 레코드가 주어진 각 RecordPath에 대해 같은 값을 가질 때만 같은 outbound FlowFile로 이동해요. 주어진 출력 FlowFile 안의 모든 레코드는 RecordPath가 지정하는 필드에 대해 같은 값을 가지므로, 각 필드에 대해 속성이 추가돼요. 더 많은 정보와 예시는 Usage 페이지의 Additional Details를 참고하세요.

태그

bin, group, organize, partition, record, recordpath, rpath, segment, split

입력 요구 사항 (Input Requirement)

REQUIRED — 입력 FlowFile이 필요해요.

민감한 동적 속성 지원 (Supports Sensitive Dynamic Properties)

false — 지원하지 않아요.

속성 (Properties)

속성 설명
record-reader 들어오는 데이터를 읽는 데 사용할 Controller Service를 지정해요.
record-writer 레코드를 기록하는 데 사용할 Controller Service를 지정해요.

관계 (Relationships)

이름 설명
failure 입력 형식에서 출력 형식으로 FlowFile을 파티셔닝할 수 없으면 변경되지 않은 FlowFile이 이 관계로 라우팅돼요.
original 들어오는 FlowFile의 모든 레코드가 파티셔닝되면 원본 FlowFile이 이 관계로 라우팅돼요.
success 성공적으로 파티셔닝된 FlowFile이 이 관계로 라우팅돼요.

쓰기 속성 (Writes attributes)

이름 설명
record.count 나가는 FlowFile의 레코드 수예요.
mime.type 구성된 Record Writer가 적절하다고 표시하는 MIME 타입이에요.
fragment.identifier 같은 부모 FlowFile에서 생성된 모든 파티셔닝 FlowFile은 이 속성에 대해 같은 무작위 생성 UUID를 가져요.
fragment.index 단일 부모 FlowFile에서 생성된 파티셔닝 FlowFile의 순서를 나타내는 1씩 증가하는 번호예요.
fragment.count 부모 FlowFile에서 생성된 파티셔닝 FlowFile의 수예요.
segment.original.filename 부모 FlowFile의 파일 이름이에요.
<dynamic property name> 추가된 각 동적 속성에 대해 FlowFile에 속성이 추가될 수 있어요. 자세한 내용은 Dynamic Properties 설명을 참고하세요.

사용 사례

  • 주어진 필드 또는 필드 집합에 대해 FlowFile 안의 모든 레코드가 같은 값을 갖도록 레코드를 별도의 FlowFile로 분리해요.
  • 특정 기준을 충족하는지 여부에 따라 레코드를 분리해요.

더 보기 (See also)

  • org.apache.nifi.processors.standard.ConvertRecord
  • org.apache.nifi.processors.standard.QueryRecord
  • org.apache.nifi.processors.standard.SplitRecord
  • org.apache.nifi.processors.standard.UpdateRecord

더 알아보기 (Learn more)