설명
- 날짜 및 날짜-시간 값은 큰따옴표로 묶입니다.
- 숫자는 따옴표 없이 출력됩니다.
- 값은 구분자 문자로 구분되며, 기본값은
,입니다. 구분자 문자는 설정 format_csv_delimiter에서 정의됩니다. - 행은 Unix 줄바꿈 문자(LF)를 사용해 구분됩니다.
- 배열은 CSV에서 다음과 같이 직렬화됩니다.
- 먼저 배열은 TabSeparated 포맷에서와 같이 문자열로 직렬화됩니다.
- 이렇게 생성된 문자열은 큰따옴표로 묶여 CSV에 출력됩니다.
- CSV 형식에서 튜플은 별도의 컬럼으로 직렬화됩니다(즉, 튜플 내부의 중첩 구조는 사라집니다).
기본적으로 구분자는
,입니다.
자세한 내용은 format_csv_delimiter 설정을 참조하십시오.NULL은 format_csv_null_representation 설정에 따라 포맷됩니다(기본값은 \N입니다).
입력 데이터에서 ENUM 값은 이름 또는 id로 표현할 수 있습니다.
먼저 입력 값을 ENUM 이름과 일치시키려고 시도합니다.
일치하지 않고 입력 값이 숫자이면, 이 숫자를 ENUM id와 일치시키려고 시도합니다.
입력 데이터에 ENUM id만 포함되어 있다면 ENUM 파싱을 최적화하기 위해 input_format_csv_enum_as_number 설정을 활성화하는 것이 좋습니다.
예시 사용
포맷 설정
| 설정 | 설명 | 기본값 | 비고 |
|---|---|---|---|
| format_csv_delimiter | CSV 데이터에서 구분자로 사용할 문자를 지정합니다. | , | |
| format_csv_allow_single_quotes | 작은따옴표로 둘러싼 문자열을 허용합니다. | true | |
| format_csv_allow_double_quotes | 큰따옴표로 둘러싼 문자열을 허용합니다. | true | |
| format_csv_null_representation | CSV 형식에서 사용자 지정 NULL 표현을 사용합니다. | \N | |
| input_format_csv_empty_as_default | CSV 입력의 빈 필드를 기본값으로 처리합니다. | true | 복잡한 기본 표현식에는 input_format_defaults_for_omitted_fields도 함께 활성화해야 합니다. |
| input_format_csv_enum_as_number | CSV 형식에서 삽입되는 enum 값을 enum 인덱스로 처리합니다. | false | |
| input_format_csv_use_best_effort_in_schema_inference | CSV 형식에서 스키마 추론 시 일부 조정과 휴리스틱을 사용합니다. 비활성화하면 모든 필드가 String으로 추론됩니다. | true | |
| input_format_csv_arrays_as_nested_csv | CSV에서 배열을 읽을 때 요소가 중첩된 CSV로 직렬화된 뒤 문자열에 담겨 있다고 가정합니다. | false | |
| output_format_csv_crlf_end_of_line | true로 설정하면 CSV 출력 형식의 줄 끝이 \n 대신 \r\n이 됩니다. | false | |
| input_format_csv_skip_first_lines | 데이터 시작 부분에서 지정한 줄 수만큼 건너뜁니다. | 0 | |
| input_format_csv_detect_header | CSV 형식에서 이름과 타입이 포함된 헤더를 자동으로 감지합니다. | true | |
| input_format_csv_skip_trailing_empty_lines | 데이터 끝의 빈 줄을 건너뜁니다. | false | |
| input_format_csv_trim_whitespaces | 따옴표로 묶지 않은 CSV 문자열의 공백과 탭을 제거합니다. | true | |
| input_format_csv_allow_whitespace_or_tab_as_delimiter | CSV 문자열에서 공백이나 탭을 필드 구분자로 사용할 수 있도록 허용합니다. | false | |
| input_format_csv_allow_variable_number_of_columns | CSV 형식에서 가변적인 수의 컬럼을 허용하며, 추가 컬럼은 무시하고 누락된 컬럼에는 기본값을 사용합니다. | false | |
| input_format_csv_use_default_on_bad_values | 잘못된 값 때문에 CSV 필드 역직렬화에 실패한 경우 해당 컬럼에 기본값을 설정할 수 있도록 허용합니다. | false | |
| input_format_csv_try_infer_numbers_from_strings | 스키마 추론 중 문자열 필드에서 숫자를 추론하도록 시도합니다. | false |