CSVReader

설명

CSV 형식의 데이터를 구문 분석하여 CSV 파일의 각 행을 별도의 레코드로 반환합니다. 이 리더는’헤더 줄’이 있는 경우 CSV 의 첫 라인을 기반으로 스키마를 추론하거나 값 해석을 위한 명시적 스키마를 제공할 수 있습니다. 자세한 설명서는 컨트롤러 서비스 사용법을 참조하십시오.

태그

comma, csv, delimited, parse, reader, record, row, separated, values

속성

아래 목록에서 필수 속성에는 별표(*)가 표시되어 있습니다. 다른 속성은 선택 사항으로 간주됩니다. 이 테이블에는 기본값과 속성이 NiFi 식 언어를 지원하는지 여부도 표시됩니다.

표시 이름

API 이름

기본값

허용되는 값

설명

CSV 형식 *

CSV 형식

custom

  • 사용자 지정 형식

  • RFC 4180

  • Microsoft Excel

  • 탭으로 구분

  • MySQL Format

  • Informix Unload

  • Informix Unload 이스케ㄴ이프 사용 안 함

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

  • true

  • 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

  • true

  • false

필드의 시작과 끝에서 공백을 제거할지 여부

Trim double quote *

큰따옴표 다듬기

true

  • true

  • false

시작과 끝 큰따옴표를 다듬을지 여부입니다. 예를 들어, trim 문자열 ‘“test“‘가 있는 경우 ‘test’로 구문 분석되고, trim이 없는 경우 ‘“test“‘로 구문 분석됩니다. ‘false’로 설정하면 RFC-4180을 완전히 준수합니다. 기본값은 true이고 트림이 적용됩니다.

Value Separator *

값 구분 기호

,

CSV 레코드에서 값/필드를 구분하는 데 사용되는 문자입니다. 속성이 표현식 언어를 통해 지정되었지만 식이 런타임에 잘못된 값 구분 기호로 평가되면 건너뛰고 기본 값 구분 기호가 사용됩니다.

CSV Parser *

csv-reader-csv-parser

commons-csv

  • Apache Commons CSV

  • Jackson CSV

  • FastCSV

CSV 레코드를 읽는 데 사용할 구문 분석기를 지정합니다. NOTE: 구문 분석기마다 서로 다른 기능 하위 집합을 지원할 수 있으며 성능 수준도 다를 수 있습니다.

중복 헤더 이름 허용

csvutils-allow-duplicate-headers-names

true

  • true

  • false

중복 헤더 이름이 허용되는지 여부입니다. 헤더 이름은 대/소문자를 구분합니다(예: “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

  • true

  • false

CSV 의 첫 줄이 헤더이고 구성된 스키마가 헤더 라인에 지정된 필드와 일치하지 않는 경우 리더가 필드를 해석하는 방법을 제어합니다. 이 속성이 true이면 각 열에 매핑된 필드 이름은 구성된 스키마에 의해서만 구동되며 스키마에 없는 필드는 무시됩니다. 이 속성이 false가면 CSV 헤더에 있는 필드 이름이 필드 이름으로 사용됩니다.

Schema Access Strategy *

schema-access-strategy

infer-schema

  • ‘Schema Name’ 속성 사용

  • ‘Schema Text’ 속성 사용

  • Schema Reference Reader

  • Use String Fields From Header

  • 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에서 조회할 스키마 버전을 지정합니다. 지정하지 않으면 최신 버전의 스키마가 검색됩니다.

상태 관리

이 구성 요소는 상태를 저장하지 않습니다.

제한됨

이 구성 요소는 제한되지 않습니다.

시스템 리소스 고려 사항

이 구성 요소는 시스템 리소스 고려 사항을 지정하지 않습니다.