CSVReader

설명

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

태그

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

속성

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

표시 이름

API 이름

기본값

허용되는 값

설명

중복 헤더 이름 허용

중복 헤더 이름 허용

true

  • true

  • false

중복 헤더 이름이 허용되는지 여부입니다. 헤더 이름은 대/소문자를 구분합니다(예: “name”과 “Name”은 별도의 필드로 취급). 중복 헤더 이름 처리는 CSV 구문 분석기별(해당되는 경우):* Apache Commons CSV - 중복 헤더는 “unknown_field_index_X”에 대해 새 필드를 생성하여 열 데이터를 “이동”시키고 “X”는 CSV 열 인덱스 번호입니다* Jackson CSV - 중복 헤더는 가장 오른쪽에 중복된 CSV 열의 필드 값으로 중복이 제거됩니다* FastCSV - 중복 헤더는 가장 왼쪽에 중복된 CSV 열의 필드 값으로 중복이 제거됩니다

CSV 형식 *

CSV 형식

custom

  • 사용자 지정 형식

  • RFC 4180

  • Microsoft Excel

  • 탭으로 구분

  • MySQL Format

  • Informix Unload

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

CSV 데이터의 “형식”을 지정하거나 사용자 정의 형식을 사용할지 여부를 지정합니다.

Character Set *

Character Set

UTF-8

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 구문 분석기에서 특정 의미를 갖는 문자를 이스케이프하는 데 사용되는 문자입니다. 속성이 표현식 언어를 통해 지정되었지만 런타임에 표현식이 잘못된 이스케이프 문자로 평가되는 경우 해당 속성은 건너뛰고 기본 이스케이프 문자가 사용됩니다. 빈 문자열로 설정하면 이스케이프 문자를 사용하지 않아야 합니다.

Ignore CSV Header Column Names

Ignore CSV Header Column Names

false

  • true

  • false

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

Null 문자열

Null 문자열

CSV 에 값으로 존재하는 경우 리터럴 값을 사용하는 대신 null 필드로 간주해야 하는 문자열을 지정합니다.

Quote Character *

인용 문자

이스케이프 문자를 사용할 필요가 없도록 값을 따옴표로 묶는 데 사용되는 문자입니다. 속성이 표현식 언어를 통해 지정되었지만 식이 런타임에 잘못된 따옴표 문자로 평가되는 경우 해당 속성은 건너뛰고 기본 따옴표 문자가 사용됩니다.

Record Separator *

레코드 구분 기호

n

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

시간 형식

시간 형식

시간 필드를 읽거나 쓸 때 사용할 형식을 지정합니다. 지정하지 않으면 시간 필드는 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시간 형식의 두 자리의 시간이, 그 다음에 두 자리의 분, 그 다음에 두 자리의 초가 ‘:’ 문자로 구분되어 이어집니다).

Treat First Line as Header *

Treat First Line as Header

false

  • true

  • false

CSV 의 첫 줄을 헤더로 간주할지 아니면 레코드로 간주할지 여부를 지정합니다. Schema Access Strategy에서 열을 헤더에 정의해야 한다고 지정한 경우 헤더가 항상 존재해야 하며 레코드로 처리되지 않으므로 이 속성은 무시됩니다. 그렇지 않으면 ‘true’인 경우 CSV 데이터의 첫 번째 줄은 레코드로 처리되지 않고, ‘false’인 경우 첫 번째 줄이 레코드로 해석됩니다.

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: 구문 분석기마다 서로 다른 기능 하위 집합을 지원할 수 있으며 성능 수준도 다를 수 있습니다.

상태 관리

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

제한됨

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

시스템 리소스 고려 사항

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