ValidateRecord 프로세서

ValidateRecord 프로세서

Openflow의 ValidateRecord 프로세서는 레코드를 주어진 스키마에 대해 검증하는 데 사용합니다. 이 문서에서 프로세서의 번들, 설명, 속성, 관계 등을 확인할 수 있습니다.

출처: Snowflake 문서

본문

번들 (Bundle)

org.apache.nifi | nifi-standard-nar

설명 (Description)

들어오는 FlowFile의 레코드를 주어진 스키마에 대해 검증합니다. 스키마를 준수하는 모든 레코드는 valid 관계로, 준수하지 않는 레코드는 invalid 관계로 라우팅됩니다. 따라서 일부 레코드가 스키마에 따라 유효하고 나머지는 그렇지 않으면 단일 입력 FlowFile이 두 개의 개별 FlowFile로 분할될 수 있습니다. invalid 관계로 라우팅되는 모든 FlowFile은 레코드가 유효하지 않은 이유를 설명하는 Details 필드가 채워진 ROUTE Provenance 이벤트를 생성합니다. 또한 레코드가 유효하지 않은 이유를 더 자세히 알아보려면 org.apache.nifi.processors.standard.ValidateRecord 로거에 대해 DEBUG 수준 로깅을 활성화할 수 있습니다.

태그 (Tags)

record, schema, validate

입력 요구사항 (Input Requirement)

REQUIRED

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

false

속성 (Properties)

속성 (Property) 설명 (Description)
Schema Access Strategy 레코드를 검증하는 데 사용할 스키마를 얻는 방법을 지정합니다.
Schema Branch Schema Registry 속성에서 스키마를 조회할 때 사용할 브랜치 이름을 지정합니다. 선택한 Schema Registry가 브랜칭을 지원하지 않으면 이 값은 무시됩니다.
Schema Name Schema Registry 속성에서 조회할 스키마의 이름을 지정합니다.
Schema Registry Schema Registry에 사용할 Controller Service를 지정합니다.
Schema Text Avro 형식 스키마의 텍스트입니다.
Schema Version Schema Registry에서 조회할 스키마의 버전을 지정합니다. 지정하지 않으면 스키마의 최신 버전이 검색됩니다.
allow-extra-fields 들어오는 데이터에 스키마에 없는 필드가 있으면 이 속성이 Record가 유효한지 여부를 결정합니다. true이면 Record는 여전히 유효합니다. false이면 추가 필드로 인해 Record가 유효하지 않게 됩니다.
coerce-types 활성화하면 프로세서가 모든 필드를 Reader의 스키마에 지정된 유형으로 강제 변환합니다. 필드 값을 해당 유형으로 변환할 수 없으면 필드는 건너뛰고(입력 데이터에서 읽히지 않음) 출력에 나타나지 않습니다. 활성화하지 않으면 모든 필드가 출력에 나타나지만 유형은 스키마에 지정된 것과 다를 수 있습니다. 자세한 내용은 프로세서 도움말의 Additional Details 페이지를 참조하세요. 이 속성은 지정된 Record Reader가 데이터를 읽는 방식을 제어합니다.
invalid-record-writer 지정하면 이 Controller Service가 유효하지 않은 레코드를 쓰는 데 사용됩니다. 지정하지 않으면 Record Writer 속성이 지정한 writer가 입력 레코드를 읽는 데 사용된 스키마와 함께 사용됩니다. 예를 들어 구성된 Record Writer가 스키마를 준수하지 않는 데이터를 쓸 수 없는 경우(Avro의 경우처럼)나 유효한 레코드는 다른 형식으로 변환하면서 유효하지 않은 레코드는 원래 형식으로 유지하려는 경우에 유용합니다.
maximum-validation-details-length validation details 값이 가질 수 있는 최대 문자 수를 지정합니다. 최대값을 초과하는 문자는 잘립니다. 이 속성은 Validation Details Attribute Name이 설정된 경우에만 사용됩니다.
record-reader 들어오는 데이터를 읽는 데 사용할 Controller Service를 지정합니다.
record-writer 레코드를 쓰는 데 사용할 Controller Service를 지정합니다. Controller Service의 스키마 접근 구성과 무관하게, 레코드를 검증하는 데 사용된 스키마가 유효한 결과를 쓰는 데 사용됩니다.
strict-type-checking 들어오는 데이터에 필드 유형이 올바르지 않은 Record가 있으면 이 속성이 Record를 처리하는 방법을 결정합니다. true이면 Record는 유효하지 않은 것으로 간주됩니다. false이면 Record는 유효한 것으로 간주되고 필드는 올바른 유형으로 강제 변환됩니다(Record Writer가 지원하는 유형 변환에 따른 경우). 이 속성은 데이터가 검증 스키마에 대해 검증되는 방식을 제어합니다.
validation-details-attribute-name 지정하면 검증 오류가 발생할 때 이 속성 이름으로 세부 정보를 남깁니다. 문자 수는 Maximum Validation Details Length 속성으로 제한됩니다.

관계 (Relationships)

이름 (Name) 설명 (Description)
failure 어떤 이유로든 레코드를 읽고, 검증하고, 쓸 수 없으면 원본 FlowFile이 이 관계로 라우팅됩니다.
invalid 스키마에 따라 유효하지 않은 레코드가 이 관계로 라우팅됩니다.
valid 스키마에 따라 유효한 레코드가 이 관계로 라우팅됩니다.

기록하는 속성 (Writes attributes)

이름 (Name) 설명 (Description)
mime.type mime.type 속성을 Record Writer가 지정한 MIME Type으로 설정합니다.
record.count 관계로 라우팅되는 FlowFile의 레코드 수입니다.

더 알아보기 (Learn more)