ValidateCsv 프로세서

ValidateCsv 프로세서

Openflow의 ValidateCsv 프로세서는 FlowFile 내용을 CSV 스키마에 대해 검증하는 데 사용합니다. 이 문서에서 프로세서의 번들, 설명, 속성, 관계 등을 확인할 수 있습니다.

출처: Snowflake 문서

본문

번들 (Bundle)

org.apache.nifi | nifi-standard-nar

설명 (Description)

FlowFile의 내용 또는 FlowFile 속성 값을 사용자 지정 CSV 스키마에 대해 검증합니다. 몇 가지 스키마 예시는 이 프로세서의 추가 문서를 참조하세요.

태그 (Tags)

csv, schema, validation

입력 요구사항 (Input Requirement)

REQUIRED

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

false

속성 (Properties)

속성 (Property) 설명 (Description)
CSV Source Attribute 검증할 CSV 데이터가 들어 있는 속성의 이름입니다. 이 속성이 비어 있으면 FlowFile 내용이 검증됩니다.
Max Lines Per Row 예외가 발생하기 전에 한 행이 차지할 수 있는 최대 줄 수입니다. 이 옵션을 사용하면 따옴표가 일치하지 않는 CSV를 만났을 때 프로세서가 빠르게 실패할 수 있습니다. 기본 동작은 일치하는 따옴표를 찾을 때까지 계속 읽는 것이며, 이 경우 전체 파일을 읽고(사용 가능한 모든 메모리를 소진) 잠재적으로 이어질 수 있습니다. 값 0은 이 옵션을 비활성화합니다.
validate-csv-delimiter 들어오는 데이터에서 delimiter로 사용되는 문자입니다. 예: ,
validate-csv-eol 들어오는 데이터에서 end of line으로 사용되는 기호입니다. 예: \n
validate-csv-header 들어오는 flow file에 무시할 헤더가 포함되어 있으면 true, 그렇지 않으면 false입니다.
validate-csv-quote 들어오는 데이터에서 quote로 사용되는 문자입니다. 예: "
validate-csv-schema 검증에 사용할 스키마입니다. 적용할 cell processor를 나타내는 쉼표 구분 문자열이어야 합니다. 스키마 정의에 허용되는 cell processor는 [ParseBigDecimal, ParseBool, ParseChar, ParseDate, ParseDouble, ParseInt, ParseLong, Optional, DMinMax, Equals, ForbidSubStr, LMinMax, NotNull, Null, RequireHashCode, RequireSubStr, Strlen, StrMinMax, StrNotNullOrEmpty, StrRegEx, Unique, UniqueHashCode, IsIncludedIn]입니다. 참고: cell processor는 Optional 외에는 중첩할 수 없습니다. Header가 false이면 스키마가 필요합니다.
validate-csv-strategy 입력 파일을 출력 관계로 라우팅할 때 적용할 전략입니다.
validate-csv-violations true이면 validation.error.message 속성에 첫 번째 잘못된 줄에 대한 모든 위반 목록이 포함됩니다. true로 설정하면 모든 열이 검증되므로 성능이 약간 저하될 수 있습니다. false이면 열이 지정된 제약을 위반하는 것으로 발견되는 즉시 줄이 잘못된 것으로 간주되며, 첫 번째 잘못된 줄에 대한 이 위반만 validation.error.message 속성에 포함됩니다.

관계 (Relationships)

이름 (Name) 설명 (Description)
invalid 지정된 스키마에 따라 유효하지 않거나, 스키마나 CSV 헤더를 식별할 수 없는 FlowFile이 이 관계로 라우팅됩니다.
valid 스키마에 대해 성공적으로 검증된 FlowFile이 이 관계로 라우팅됩니다.

기록하는 속성 (Writes attributes)

이름 (Name) 설명 (Description)
count.valid.lines 줄 단위 검증인 경우 소스 데이터에서 추출된 유효한 줄 수입니다.
count.invalid.lines 줄 단위 검증인 경우 소스 데이터에서 추출된 유효하지 않은 줄 수입니다.
count.total.lines 줄 단위 검증인 경우 소스 데이터의 총 줄 수입니다.
validation.error.message invalid로 라우팅되는 flow file의 경우 첫 번째 검증 오류 메시지입니다.

더 알아보기 (Learn more)