SplitAvro

SplitAvro

이진 인코딩된 Avro 데이터파일을 구성된 Output Size에 따라 더 작은 파일로 나누는 프로세서예요. 출력 전략에 따라 작은 파일이 Avro 데이터파일 또는 FlowFile 속성에 메타데이터가 있는 bare Avro 레코드가 될 수 있어요.

출처: Snowflake 문서

본문

번들 (Bundle)

org.apache.nifi | nifi-avro-nar

설명 (Description)

이진 인코딩된 Avro 데이터파일을 구성된 Output Size에 따라 더 작은 파일로 나눕니다. Output Strategy는 작은 파일이 Avro 데이터파일이 될지, FlowFile 속성에 메타데이터가 있는 bare Avro 레코드가 될지를 결정합니다. 출력은 항상 이진 인코딩됩니다.

태그 (Tags)

avro, split

입력 요구사항 (Input Requirement)

REQUIRED

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

false

속성 (Properties)

속성 (Property) 설명 (Description)
Output Size 분할 파일 하나에 포함할 Avro 레코드 수입니다. 들어오는 파일에 Output Size보다 적은 레코드가 있거나, 총 레코드 수가 Output Size로 정확히 나누어 떨어지지 않는 경우, 더 적은 레코드가 있는 분할 파일이 생성될 수 있습니다.
Output Strategy 출력 형식을 결정합니다. Avro Datafile 또는 bare record입니다. Bare record 출력은 이미 이를 요구하는 시스템에서만 사용하기 위한 것이며, 일반적인 사용에는 필요하지 않아야 합니다.
Split Strategy 들어오는 데이터파일을 나누는 전략입니다. Record 전략은 각 레코드를 역직렬화하여 들어오는 데이터파일을 읽습니다.
Transfer Metadata 부모 데이터파일에서 자식으로 메타데이터를 전송할지 여부입니다. Output Strategy가 Bare Record이면 메타데이터는 FlowFile 속성으로 저장되고, 그 외에는 Datafile 헤더에 저장됩니다.

관계 (Relationships)

이름 (Name) 설명 (Description)
failure 어떤 이유로든 FlowFile 처리가 실패하면(예: FlowFile이 유효한 Avro가 아닌 경우) 이 관계로 라우팅됩니다.
original 분할된 원본 FlowFile입니다. FlowFile 처리가 실패하면 이 관계로 아무것도 보내지 않습니다.
split 원본 FlowFile에서 분할된 모든 새 파일이 이 관계로 라우팅됩니다.

쓰는 속성 (Writes attributes)

이름 (Name) 설명 (Description)
fragment.identifier 같은 부모 FlowFile에서 만들어진 모든 분할 FlowFile은 이 속성에 대해 같은 무작위 생성 UUID를 갖습니다.
fragment.index 단일 부모 FlowFile에서 생성된 분할 FlowFile의 순서를 나타내는 일련 번호입니다.
fragment.count 부모 FlowFile에서 생성된 분할 FlowFile의 수입니다.
segment.original.filename 부모 FlowFile의 파일 이름입니다.

더 알아보기 (Learn more)