CSVReader¶
설명¶
CSV 형식의 데이터를 구문 분석하여 CSV 파일의 각 행을 별도의 레코드로 반환합니다. 이 리더는’헤더 줄’이 있는 경우 CSV 의 첫 라인을 기반으로 스키마를 추론하거나 값 해석을 위한 명시적 스키마를 제공할 수 있습니다. 자세한 설명서는 컨트롤러 서비스 사용법을 참조하십시오.
속성¶
아래 목록에서 필수 속성에는 별표(*)가 표시되어 있습니다. 다른 속성은 선택 사항으로 간주됩니다. 이 테이블에는 기본값과 속성이 NiFi 식 언어를 지원하는지 여부도 표시됩니다.
표시 이름 |
API 이름 |
기본값 |
허용되는 값 |
설명 |
---|---|---|---|---|
CSV 형식 * |
CSV 형식 |
custom |
|
CSV 데이터의 “형식”을 지정하거나 사용자 정의 형식을 사용할지 여부를 지정합니다. |
Comment Marker |
Comment Marker |
설명의 시작을 나타내는 데 사용되는 문자입니다. 이 설명으로 시작하는 모든 줄은 무시됩니다. |
||
Date Format |
Date Format |
날짜 필드를 읽거나 쓸 때 사용할 형식을 지정합니다. 지정하지 않으면 날짜 필드는 epoch(1970년 1월 1일 자정, GMT 시간) 이후의 밀리초 수로 간주됩니다. 지정한 경우 값은 Java java.time.format과 일치해야 합니다. DateTimeFormatter 형식(예: 01/01/2017과 같이 두 자릿수의 월을 MM/d d/yyyy로 표시한 후, 두 자릿수의 일을 이어서 표시하고, 네 자릿수의 연도를 추가하며, 모든 숫자는 ‘/’ 기호로 구분됨)입니다. |
||
Escape Character * |
이스케이프 문자 |
CSV 구문 분석기에서 특정 의미를 갖는 문자를 이스케이프하는 데 사용되는 문자입니다. 속성이 표현식 언어를 통해 지정되었지만 런타임에 표현식이 잘못된 이스케이프 문자로 평가되는 경우 해당 속성은 건너뛰고 기본 이스케이프 문자가 사용됩니다. 빈 문자열로 설정하면 이스케이프 문자를 사용하지 않아야 합니다. |
||
Null 문자열 |
Null 문자열 |
CSV 에 값으로 존재하는 경우 리터럴 값을 사용하는 대신 null 필드로 간주해야 하는 문자열을 지정합니다. |
||
Quote Character * |
인용 문자 |
“ |
이스케이프 문자를 사용할 필요가 없도록 값을 따옴표로 묶는 데 사용되는 문자입니다. 속성이 표현식 언어를 통해 지정되었지만 식이 런타임에 잘못된 따옴표 문자로 평가되는 경우 해당 속성은 건너뛰고 기본 따옴표 문자가 사용됩니다. |
|
Record Separator * |
레코드 구분 기호 |
n |
CSV 레코드를 구분하기 위해 사용할 문자를 지정합니다 |
|
Treat First Line as Header * |
헤더 라인 건너뛰기 |
false |
|
CSV 의 첫 줄을 헤더로 간주할지 아니면 레코드로 간주할지 여부를 지정합니다. Schema Access Strategy에서 열을 헤더에 정의해야 한다고 지정한 경우 헤더가 항상 존재해야 하며 레코드로 처리되지 않으므로 이 속성은 무시됩니다. 그렇지 않으면 ‘true’인 경우 CSV 데이터의 첫 번째 줄은 레코드로 처리되지 않고, ‘false’인 경우 첫 번째 줄이 레코드로 해석됩니다. |
시간 형식 |
시간 형식 |
시간 필드를 읽거나 쓸 때 사용할 형식을 지정합니다. 지정하지 않으면 시간 필드는 epoch(1970년 1월 1일 자정, GMT 시간) 이후의 밀리초 수로 간주됩니다. 지정하는 경우 값은 Java java.time.format과 일치해야 합니다. DateTimeFormatter 형식(예: 18:04:15와 같이 24시간 형식의 두 자리 시, 두 자리 분, 두 자리 초를 모두 ‘:’ 문자로 구분한 HH:mm:ss)입니다. |
||
타임스탬프 형식 |
타임스탬프 형식 |
타임스탬프 필드를 읽거나 쓸 때 사용할 형식을 지정합니다. 지정하지 않으면 타임스탬프 필드는 epoch(1970년 1월 1일 자정, GMT 시간) 이후 밀리초 수로 간주됩니다. 지정된 경우, 값은 Java java.time.format.DateTimeFormatter 형식입니다(예: MM/dd/yyyy HH:mm:ss는 두 자리의 월, 그 다음에 두 자리의 일, 그 다음에 네 자리의 연도이며, 모두 ‘/’ 문자로 구분됩니다. 01/01/2017 18:04:15와 같이 그 다음에는 24시간 형식의 두 자리의 시간이, 그 다음에 두 자리의 분, 그 다음에 두 자리의 초가 ‘:’ 문자로 구분되어 이어집니다). |
||
Trim Fields * |
필드 다듬기 |
true |
|
필드의 시작과 끝에서 공백을 제거할지 여부 |
Trim double quote * |
큰따옴표 다듬기 |
true |
|
시작과 끝 큰따옴표를 다듬을지 여부입니다. 예를 들어, trim 문자열 ‘“test“‘가 있는 경우 ‘test’로 구문 분석되고, trim이 없는 경우 ‘“test“‘로 구문 분석됩니다. ‘false’로 설정하면 RFC-4180을 완전히 준수합니다. 기본값은 true이고 트림이 적용됩니다. |
Value Separator * |
값 구분 기호 |
, |
CSV 레코드에서 값/필드를 구분하는 데 사용되는 문자입니다. 속성이 표현식 언어를 통해 지정되었지만 식이 런타임에 잘못된 값 구분 기호로 평가되면 건너뛰고 기본 값 구분 기호가 사용됩니다. |
|
CSV Parser * |
csv-reader-csv-parser |
commons-csv |
|
CSV 레코드를 읽는 데 사용할 구문 분석기를 지정합니다. NOTE: 구문 분석기마다 서로 다른 기능 하위 집합을 지원할 수 있으며 성능 수준도 다를 수 있습니다. |
중복 헤더 이름 허용 |
csvutils-allow-duplicate-headers-names |
true |
|
중복 헤더 이름이 허용되는지 여부입니다. 헤더 이름은 대/소문자를 구분합니다(예: “name”과 “Name”은 별도의 필드로 취급). 중복 헤더 이름 처리는 CSV 구문 분석기별(해당되는 경우):* Apache Commons CSV - 중복 헤더는 “unknown_field_index_X”에 대해 새 필드를 생성하여 열 데이터를 “이동”시키고 “X”는 CSV 열 인덱스 번호입니다* Jackson CSV - 중복 헤더는 가장 오른쪽에 중복된 CSV 열의 필드 값으로 중복이 제거됩니다* FastCSV - 중복 헤더는 가장 왼쪽에 중복된 CSV 열의 필드 값으로 중복이 제거됩니다 |
Character Set * |
csvutils-character-set |
UTF-8 |
CSV 파일을 인코딩/디코딩하는 데 사용되는 문자 인코딩입니다 |
|
Ignore CSV Header Column Names |
ignore-csv-header |
false |
|
CSV 의 첫 줄이 헤더이고 구성된 스키마가 헤더 라인에 지정된 필드와 일치하지 않는 경우 리더가 필드를 해석하는 방법을 제어합니다. 이 속성이 true이면 각 열에 매핑된 필드 이름은 구성된 스키마에 의해서만 구동되며 스키마에 없는 필드는 무시됩니다. 이 속성이 false가면 CSV 헤더에 있는 필드 이름이 필드 이름으로 사용됩니다. |
Schema Access Strategy * |
schema-access-strategy |
infer-schema |
|
데이터 해석에 사용할 스키마를 가져오는 방법을 지정합니다. |
Schema Branch |
schema-branch |
Schema Registry 속성에서 스키마를 조회할 때 사용할 분기의 이름을 지정합니다. 선택한 Schema Registry가 분기를 지원하지 않는 경우 이 값은 무시됩니다. |
||
Schema Name |
schema-name |
${schema.name} |
Schema Registry 속성에서 조회할 스키마의 이름을 지정합니다 |
|
Schema Reference Reader * |
schema-reference-reader |
스키마 참조 식별자를 결정하기 위해 FlowFile 특성 또는 내용을 읽는 역할을 담당하는 서비스 구현 |
||
Schema Registry |
schema-registry |
Schema Registry에 사용할 컨트롤러 서비스를 지정합니다 |
||
Schema Text |
schema-text |
${avro.schema} |
Avro 형식의 스키마 텍스트 |
|
Schema Version |
schema-version |
Schema Registry에서 조회할 스키마 버전을 지정합니다. 지정하지 않으면 최신 버전의 스키마가 검색됩니다. |
상태 관리¶
이 구성 요소는 상태를 저장하지 않습니다.
제한됨¶
이 구성 요소는 제한되지 않습니다.
시스템 리소스 고려 사항¶
이 구성 요소는 시스템 리소스 고려 사항을 지정하지 않습니다.