CustomSeparated 형식

CustomSeparated 형식

CustomSeparated 형식은 Template과 유사하지만, 모든 컬럼 이름과 타입을 출력하거나 읽으며 format_custom_escaping_rule 설정의 이스케이프 규칙과 커스텀 구분자 설정들을 사용해요. 사용자가 원하는 대로 행과 필드 구분자를 지정할 수 있는 유연한 형식입니다.

출처: 문서

본문

Input Output Alias

설명 (Description)

Template과 유사하지만 모든 컬럼 이름과 타입을 출력하거나 읽으며, format_custom_escaping_rule 설정의 이스케이프 규칙과 다음 설정들의 구분자를 사용합니다:

format 문자열의 이스케이프 규칙 설정과 구분자는 사용하지 않아요. TemplateIgnoreSpaces와 유사한 CustomSeparatedIgnoreSpaces 형식도 있습니다.

사용 예시 (Example usage)

데이터 삽입 (Inserting data)

football.txt라는 이름의 다음 txt 파일을 사용합니다:

row('2022-04-30';2021;'Sutton United';'Bradford City';1;4),row('2022-04-30';2021;'Swindon Town';'Barrow';2;1),row('2022-04-30';2021;'Tranmere Rovers';'Oldham Athletic';2;0),row('2022-05-02';2021;'Salford City';'Mansfield Town';2;2),row('2022-05-02';2021;'Port Vale';'Newport County';1;2),row('2022-05-07';2021;'Barrow';'Northampton Town';1;3),row('2022-05-07';2021;'Bradford City';'Carlisle United';2;0),row('2022-05-07';2021;'Bristol Rovers';'Scunthorpe United';7;0),row('2022-05-07';2021;'Exeter City';'Port Vale';0;1),row('2022-05-07';2021;'Harrogate Town A.F.C.';'Sutton United';0;2),row('2022-05-07';2021;'Hartlepool United';'Colchester United';0;2),row('2022-05-07';2021;'Leyton Orient';'Tranmere Rovers';0;1),row('2022-05-07';2021;'Mansfield Town';'Forest Green Rovers';2;2),row('2022-05-07';2021;'Newport County';'Rochdale';0;2),row('2022-05-07';2021;'Oldham Athletic';'Crawley Town';3;3),row('2022-05-07';2021;'Stevenage Borough';'Salford City';4;2),row('2022-05-07';2021;'Walsall';'Swindon Town';0;3)

커스텀 구분자 설정을 구성합니다:

SET format_custom_row_before_delimiter = 'row(';
SET format_custom_row_after_delimiter = ')';
SET format_custom_field_delimiter = ';';
SET format_custom_row_between_delimiter = ',';
SET format_custom_escaping_rule = 'Quoted';

데이터를 삽입합니다:

INSERT INTO football FROM INFILE 'football.txt' FORMAT CustomSeparated;

데이터 읽기 (Reading data)

커스텀 구분자 설정을 구성합니다:

SET format_custom_row_before_delimiter = 'row(';
SET format_custom_row_after_delimiter = ')';
SET format_custom_field_delimiter = ';';
SET format_custom_row_between_delimiter = ',';
SET format_custom_escaping_rule = 'Quoted';

CustomSeparated 형식을 사용하여 데이터를 읽습니다:

SELECT *
FROM football
FORMAT CustomSeparated

출력은 구성된 커스텀 형식이 됩니다:

row('2022-04-30';2021;'Sutton United';'Bradford City';1;4),row('2022-04-30';2021;'Swindon Town';'Barrow';2;1),row('2022-04-30';2021;'Tranmere Rovers';'Oldham Athletic';2;0),row('2022-05-02';2021;'Port Vale';'Newport County';1;2),row('2022-05-02';2021;'Salford City';'Mansfield Town';2;2),row('2022-05-07';2021;'Barrow';'Northampton Town';1;3),row('2022-05-07';2021;'Bradford City';'Carlisle United';2;0),row('2022-05-07';2021;'Bristol Rovers';'Scunthorpe United';7;0),row('2022-05-07';2021;'Exeter City';'Port Vale';0;1),row('2022-05-07';2021;'Harrogate Town A.F.C.';'Sutton United';0;2),row('2022-05-07';2021;'Hartlepool United';'Colchester United';0;2),row('2022-05-07';2021;'Leyton Orient';'Tranmere Rovers';0;1),row('2022-05-07';2021;'Mansfield Town';'Forest Green Rovers';2;2),row('2022-05-07';2021;'Newport County';'Rochdale';0;2),row('2022-05-07';2021;'Oldham Athletic';'Crawley Town';3;3),row('2022-05-07';2021;'Stevenage Borough';'Salford City';4;2),row('2022-05-07';2021;'Walsall';'Swindon Town';0;3)

형식 설정 (Format settings)

추가 설정:

Setting Description Default
input_format_custom_detect_header 이름과 타입이 있는 헤더가 있으면 자동 감지 활성화. true
input_format_custom_skip_trailing_empty_lines 파일 끝의 뒤따르는 빈 줄 건너뜀. false
input_format_custom_allow_variable_number_of_columns CustomSeparated 형식에서 가변 컬럼 수 허용, 추가 컬럼 무시하고 누락 컬럼에 기본값 사용. false

더 알아보기 (Learn more)