CSVRecordSetWriter
CSVRecordSetWriter
RecordSet의 내용을 CSV 데이터로 쓰는 OpenFlow 컨트롤러 서비스예요.
출처: 문서
본문
기능 — 일반 공개(Generally Available)
Openflow Snowflake 배포는 AWS, Azure, GCP 상용(Commercial) 지역의 모든 계정에서 사용할 수 있어요. Openflow BYOC 배포는 AWS 상용 지역의 모든 계정에서 사용할 수 있어요.
설명 (Description)
RecordSet의 내용을 CSV 데이터로 써요. 첫 줄에는 열 이름이 기록되고(단, 'Include Header Line' 속성이 false인 경우 제외), 이후의 모든 줄은 레코드 필드에 해당하는 값이에요.
태그 (Tags)
csv, delimited, record, recordset, result, row, separated, serializer, set, tab, tsv, writer
속성 (Properties)
아래 목록에서 필수 속성은 별표(*)로 표시돼요. 그 외 속성은 선택 사항으로 간주돼요. 표에는 기본값과 해당 속성이 NiFi Expression Language를 지원하는지 여부도 함께 표시돼요.
| 표시 이름 (Display Name) | API 이름 (API Name) | 기본값 (Default Value) | 허용 값 (Allowable Values) | 설명 (Description) |
|---|---|---|---|---|
| CSV Format * | CSV Format | custom | Custom Format, RFC 4180, Microsoft Excel, Tab-Delimited, MySQL Format, Informix Unload, Informix Unload Escape Disabled | CSV 데이터가 어떤 '형식'인지, 또는 커스텀 형식을 사용할지 여부를 지정해요. |
| Character Set * | Character Set | UTF-8 | CSV 파일을 인코딩/디코딩하는 데 사용되는 문자 인코딩이에요. | |
| Comment Marker | Comment Marker | 주석의 시작을 나타내는 데 사용되는 문자예요. 이 문자로 시작하는 모든 줄은 무시돼요. | ||
| Date Format | Date Format | Date 필드를 읽거나 쓸 때 사용할 형식을 지정해요. 지정하지 않으면 Date 필드는 epoch(1970년 1월 1일 GMT 자정) 이후의 밀리초 수로 간주돼요. 지정하면 값은 Java java.time.format.DateTimeFormatter 형식과 일치해야 해요 (예: 두 자리 월, 두 자리 일, 네 자리 연도를 '/'로 구분한 MM/dd/yyyy, 예: 01/01/2017). | ||
| Escape Character * | Escape Character | CSV Parser에 특정 의미를 갖는 문자를 이스케이프하는 데 사용되는 문자예요. 속성이 Expression Language로 지정되었지만 런타임에 표현식이 잘못된 Escape Character로 평가되면 건너뛰고 기본 Escape Character가 사용돼요. 빈 문자열로 설정하면 이스케이프 문자를 사용하지 않는다는 뜻이에요. | ||
| Include Header Line * | Include Header Line | true | true, false | CSV 열 이름을 첫 줄로 기록할지 여부를 지정해요. |
| Include Trailing Delimiter * | Include Trailing Delimiter | false | true, false | true면 기록되는 각 CSV Record에 끝 구분자(trailing delimiter)가 추가돼요. false면 끝 구분자가 생략돼요. |
| Null String | Null String | CSV의 값으로 존재할 때 리터럴 값을 사용하는 대신 null 필드로 간주해야 하는 문자열을 지정해요. | ||
| Quote Character * | Quote Character | " | 이스케이프 문자를 사용하지 않아도 되도록 값을 따옴표로 묶는 데 사용되는 문자예요. 속성이 Expression Language로 지정되었지만 런타임에 표현식이 잘못된 Quote Character로 평가되면 건너뛰고 기본 Quote Character가 사용돼요. | |
| Quote Mode * | Quote Mode | MINIMAL | Quote All Values, Quote Minimal, Quote Non-Numeric Values, Do Not Quote Values | 필드를 쓸 때 어떻게 따옴표를 붙일지 지정해요. |
| Record Separator * | Record Separator | n | CSV Record를 구분하는 데 사용할 문자를 지정해요. | |
| Schema Access Strategy * | Schema Access Strategy | inherit-record-schema | Inherit Record Schema, Use 'Schema Name' Property, Use 'Schema Text' Property | 데이터를 해석하는 데 사용할 스키마를 얻는 방법을 지정해요. |
| Schema Branch | Schema Branch | 스키마 레지스트리 속성에서 스키마를 조회할 때 사용할 브랜치 이름을 지정해요. 선택한 스키마 레지스트리가 브랜치를 지원하지 않으면 이 값은 무시돼요. | ||
| Schema Cache | Schema Cache | Record Reader가 스키마를 빠르게 조회할 수 있도록 Record Schema를 추가할 Schema Cache를 지정해요. | ||
| Schema Name | Schema Name | ${schema.name} | 스키마 레지스트리 속성에서 조회할 스키마의 이름을 지정해요. | |
| Schema Reference Reader * | Schema Reference Reader | 스키마 참조 식별자(Schema Reference Identifier)를 결정하기 위해 FlowFile 속성이나 콘텐츠를 읽는 역할을 담당하는 서비스 구현이에요. | ||
| Schema Reference Writer * | Schema Reference Writer | 스키마 참조 정보로 FlowFile 속성이나 콘텐츠 헤더를 쓰는 역할을 담당하는 서비스 구현이에요. | ||
| Schema Registry | Schema Registry | 스키마 레지스트리에 사용할 컨트롤러 서비스를 지정해요. | ||
| Schema Text | Schema Text | ${avro.schema} | Avro 형식 스키마의 텍스트예요. | |
| Schema Version | Schema Version | 스키마 레지스트리에서 조회할 스키마의 버전을 지정해요. 지정하지 않으면 최신 버전의 스키마를 가져와요. | ||
| Schema Write Strategy * | Schema Write Strategy | no-schema | Do Not Write Schema, Set 'schema.name' Attribute, Set 'avro.schema' Attribute, Schema Reference Writer | 레코드의 스키마를 데이터에 추가하는 방법을 지정해요. |
| Time Format | Time Format | Time 필드를 읽거나 쓸 때 사용할 형식을 지정해요. 지정하지 않으면 Time 필드는 epoch(1970년 1월 1일 GMT 자정) 이후의 밀리초 수로 간주돼요. 지정하면 값은 Java java.time.format.DateTimeFormatter 형식과 일치해야 해요 (예: 24시간 형식의 두 자리 시, 두 자리 분, 두 자리 초를 ':'로 구분한 HH:mm:ss, 예: 18:04:15). | ||
| Timestamp Format | Timestamp Format | Timestamp 필드를 읽거나 쓸 때 사용할 형식을 지정해요. 지정하지 않으면 Timestamp 필드는 epoch(1970년 1월 1일 GMT 자정) 이후의 밀리초 수로 간주돼요. 지정하면 값은 Java java.time.format.DateTimeFormatter 형식과 일치해야 해요 (예: 두 자리 월, 두 자리 일, 네 자리 연도를 '/'로 구분하고 24시간 형식의 두 자리 시, 두 자리 분, 두 자리 초를 ':'로 구분한 MM/dd/yyyy HH:mm:ss, 예: 01/01/2017 18:04:15). | ||
| Trim Fields * | Trim Fields | true | true, false | 필드의 시작과 끝에서 공백을 제거할지 여부예요. |
| Value Separator * | Value Separator | , | CSV Record에서 값/필드를 구분하는 데 사용되는 문자예요. 속성이 Expression Language로 지정되었지만 런타임에 표현식이 잘못된 Value Separator로 평가되면 건너뛰고 기본 Value Separator가 사용돼요. | |
| CSV Writer * | csv-writer | commons-csv | Apache Commons CSV, FastCSV | CSV 레코드를 쓰는 데 사용할 writer 구현을 지정해요. 참고: 서로 다른 writer는 기능의 서로 다른 부분집합을 지원할 수 있고 성능 수준도 다를 수 있어요. |
상태 관리 (State management)
이 컴포넌트는 상태를 저장하지 않아요.
제한 (Restricted)
이 컴포넌트는 제한되지 않아요.
시스템 리소스 고려 사항 (System Resource Considerations)
이 컴포넌트는 시스템 리소스 고려 사항을 지정하지 않아요.