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의 경우 첫 번째 검증 오류 메시지입니다. |