이 설정은 소스를 기반으로 자동 생성됩니다.
input_format_allow_errors_num
텍스트 형식(CSV, TSV 등)에서 읽을 때 허용되는 최대 오류 수를 설정합니다.
기본값은 0입니다.
항상 input_format_allow_errors_ratio와 함께 사용하십시오.
행을 읽는 동안 오류가 발생했더라도 오류 카운터가 아직 input_format_allow_errors_num보다 작으면 ClickHouse는 해당 행을 무시하고 다음 행으로 넘어갑니다.
input_format_allow_errors_num와 input_format_allow_errors_ratio를 모두 초과하면 ClickHouse는 예외를 발생시킵니다.
input_format_allow_errors_ratio
텍스트 형식(CSV, TSV 등)에서 데이터를 읽을 때 허용되는 최대 오류 비율을 설정합니다. 오류 비율은 0과 1 사이의 부동소수점 값으로 지정합니다.
기본값은 0입니다.
항상 input_format_allow_errors_num과 함께 사용하십시오.
행을 읽는 중 오류가 발생하더라도 오류 카운터가 아직 input_format_allow_errors_ratio보다 작으면 ClickHouse는 해당 행을 무시하고 다음 행을 계속 읽습니다.
input_format_allow_errors_num과 input_format_allow_errors_ratio를 모두 초과하면 ClickHouse는 예외를 발생시킵니다.
input_format_allow_seeks
ORC, Parquet, Arrow 입력 포맷을 읽는 동안 seek(또는 범위 읽기)를 허용합니다. 활성화되어 있고 소스가 이를 지원하면(예: 로컬 파일, S3, 범위 읽기를 지원하고 크기를 알 수 있는 HTTP), ClickHouse는 필요한 바이트 범위만 읽어 메모리 사용량을 줄일 수 있습니다. 비활성화되어 있거나 소스가 seek를 지원하지 않으면(예: 파일 크기를 알 수 없거나 stream이 seek 불가능한 경우), 일부 reader는 전체 파일을 메모리에 로드하는 방식으로 폴백될 수 있습니다. 기본적으로 활성화되어 있습니다.
input_format_arrow_allow_missing_columns
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 23.12 | 1 | 기본적으로 Arrow 파일에서 누락된 컬럼을 허용합니다 |
Arrow 입력 형식을 읽을 때 누락된 컬럼을 허용합니다
input_format_arrow_case_insensitive_column_matching
Arrow 컬럼과 CH 컬럼을 매칭할 때 대소문자를 구분하지 않습니다.
input_format_arrow_skip_columns_with_unsupported_types_in_schema_inference
Arrow 포맷의 스키마 추론 시 지원되지 않는 타입의 컬럼을 건너뜁니다
input_format_avro_allow_missing_fields
Avro/AvroConfluent 포맷에서 스키마에 필드가 없으면 오류 대신 기본값을 사용합니다
input_format_avro_null_as_default
Avro/AvroConfluent 포맷에서는 값이 null이고 열이 널 허용이 아닌 경우 기본값을 삽입합니다
input_format_binary_decode_types_in_binary_format
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 24.7 | 0 | RowBinaryWithNamesAndTypes 입력 형식에서 타입 이름 대신 데이터 타입을 바이너리 형식으로 읽을 수 있도록 하는 새로운 설정이 추가되었습니다 |
RowBinaryWithNamesAndTypes 입력 형식에서 타입 이름 대신 데이터 타입을 바이너리 형식으로 읽습니다
input_format_binary_max_type_complexity
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 26.1 | 1000 | 악의적인 입력을 방지하기 위해 binary 타입 디코딩 시 타입 노드의 최대 개수를 제어하는 새로운 설정을 추가했습니다. |
binary 타입을 디코딩할 때 허용되는 최대 타입 노드 수입니다(깊이가 아니라 전체 개수 기준). Map(String, UInt32)는 3개의 노드입니다. 악의적인 입력을 방지합니다. 0은 무제한입니다.
input_format_binary_read_json_as_string
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 24.10 | 0 | RowBinary 입력 형식에서 JSON 타입 값을 JSON 문자열로 읽는 새로운 설정 추가 |
RowBinary 입력 형식에서 JSON 데이터 타입 값을 JSON String 값으로 읽습니다.
input_format_bson_skip_fields_with_unsupported_types_in_schema_inference
BSON 포맷의 스키마 추론 시 지원되지 않는 타입의 필드를 건너뜁니다.
input_format_capn_proto_skip_fields_with_unsupported_types_in_schema_inference
CapnProto 포맷의 스키마 추론 시 지원되지 않는 타입의 컬럼을 건너뜁니다
input_format_column_name_matching_mode
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 26.5 | auto | 정확한 대소문자 일치를 요구하는 대신, 입력 컬럼명을 먼저 대소문자를 구분해 일치시키고, 실패하면 대소문자를 구분하지 않는 일치 방식으로 폴백됩니다. |
| 26.4 | match_case | 새 설정입니다. |
다양한 포맷(JSONEachRow, CSVWithNames, JSONColumns, BSONEachRow, RowBinaryWithNames 등을 포함하되 이에 국한되지 않음)으로 데이터를 가져올 때 컬럼명 일치 모드를 정의합니다. 지원되는 모드:
- match_case: 대소문자를 구분하여 일치
- ignore_case: 대소문자를 구분하지 않고 일치
- auto: 먼저 대소문자를 구분하여 일치를 시도하고, 실패하면 대소문자를 구분하지 않고 일치를 시도합니다.
input_format_connection_handling
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 26.2 | 0 | 연결이 예기치 않게 종료될 경우 버퍼에 남아 있는 데이터를 파싱하고 처리할 수 있도록 하는 새로운 설정 |
이 옵션을 활성화하면 연결이 예기치 않게 종료되더라도 버퍼에 남아 있는 데이터는 오류로 처리되지 않고 파싱 및 처리됩니다
input_format_csv_allow_cr_end_of_line
true로 설정하면 뒤에 \가 오지 않는 줄 끝의 \r을 허용합니다.
input_format_csv_allow_variable_number_of_columns
CSV 입력에 추가 컬럼이 있으면(파일에 예상보다 많은 컬럼이 있는 경우) 이를 무시하고, CSV 입력에서 누락된 필드는 기본값으로 처리합니다.
input_format_csv_allow_whitespace_or_tab_as_delimiter
CSV 문자열에서 공백과 탭(\t)을 필드 구분 기호로 사용할 수 있게 합니다
input_format_csv_arrays_as_nested_csv
CSV에서 배열을 읽을 때는 해당 원소가 중첩 CSV로 직렬화된 후 문자열에 저장된 것으로 간주합니다. 예시: "[""Hello"", ""world"", ""42"""" TV""]". 배열을 감싸는 대괄호는 생략할 수 있습니다.
input_format_csv_deserialize_separate_columns_into_tuple
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 24.6 | 1 | CSV 형식의 튜플을 해석하는 새로운 방식이 추가되었습니다. |
| 24.3 | 1 | CSV 형식의 튜플을 해석하는 새로운 방식이 추가되었습니다. |
true로 설정하면 CSV 형식으로 기록된 개별 컬럼을 Tuple 컬럼으로 역직렬화할 수 있습니다.
이는 순수 Tuple에만 적용됩니다. Nullable(Tuple)은 항상 단일 CSV 필드로 기록되며(output_format_csv_serialize_tuple_into_separate_columns 참조), 마찬가지로 단일 필드에서만 다시 읽어 오며, 이 설정과 관계없이 개별 컬럼에서는 읽지 않습니다. Nullable(Tuple)에서는 선행 \N 필드가 모호할 수 있으므로 개별 컬럼 파싱이 지원되지 않습니다(튜플 자체의 바깥쪽 NULL일 수도 있고 첫 번째 원소의 NULL일 수도 있습니다).
순수 Tuple은 각 원소마다 하나의 필드를 차지하므로, 직접적인 최상위 원소의 필드에 있는 \N은 전체 컬럼이 아니라 해당 원소를 의미하며 input_format_null_as_default가 해당 원소에 적용됩니다. 전체 튜플에 단일 필드를 제공하는 행은 나머지 원소가 부족하므로 컬럼 기본값을 사용하는 대신 거부됩니다. 이러한 필드를 다시 전체 컬럼으로 읽으려면 이 설정을 0으로 설정하십시오. 중첩된 Tuple의 원소 필드에 있는 \N은 여전히 해당 중첩 원소 전체로 읽힙니다.
input_format_csv_detect_header
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 23.1 | 1 | 기본적으로 CSV 형식의 헤더를 감지합니다 |
CSV 형식에서 이름과 타입이 있는 헤더를 자동으로 감지합니다
input_format_csv_empty_as_default
CSV 입력에서 빈 필드를 기본값으로 처리합니다.
input_format_csv_enum_as_number
CSV 형식에서는 삽입되는 enum 값을 enum 인덱스로 처리합니다
input_format_csv_missing_nullable_as_empty_string
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 26.7 | 0 | CSV에서 `Nullable(String)`의 누락된 값을 NULL 대신 빈 문자열로 읽도록 하는 새로운 설정입니다. |
CSV에서 누락된 값을 Nullable(String)으로 읽는 방식을 제어합니다. 누락된 값은 따옴표로 둘러싸이지 않은 상태에서 쉼표 사이, 앞 또는 뒤에 있는 빈 공간을 의미합니다. 이 설정을 활성화하면 input_format_csv_empty_as_default 값과 관계없이 Nullable(String)의 누락된 값은 NULL이 아니라 빈 String으로 해석됩니다.
input_format_csv_skip_first_lines
CSV 형식 데이터의 시작 부분에서 지정한 줄 수만큼 건너뜁니다
input_format_csv_skip_trailing_empty_lines
CSV 형식에서 끝부분의 빈 줄을 건너뜁니다
input_format_csv_trim_whitespaces
CSV 문자열의 앞뒤에 있는 공백과 탭(\t) 문자를 제거합니다
input_format_csv_try_infer_numbers_from_strings
활성화하면 스키마 추론 중에 ClickHouse가 문자열 필드에서 숫자를 추론하려고 시도합니다. CSV 데이터에 따옴표로 묶인 UInt64 숫자가 포함된 경우 유용할 수 있습니다.
기본적으로 비활성화되어 있습니다.
input_format_csv_try_infer_strings_from_quoted_tuples
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 24.6 | 1 | CSV 형식에서 튜플을 해석하는 새로운 방식이 새로 추가되었습니다. |
| 24.3 | 1 | CSV 형식에서 튜플을 해석하는 새로운 방식이 새로 추가되었습니다. |
입력 데이터에서 따옴표로 묶인 튜플을 String 타입의 값으로 해석합니다.
input_format_csv_use_best_effort_in_schema_inference
CSV 형식에서 스키마를 추론할 때 일부 조정과 휴리스틱을 사용합니다
input_format_csv_use_default_on_bad_values
잘못된 값으로 인해 CSV 필드 역직렬화에 실패한 경우 컬럼에 기본값을 설정할 수 있습니다.
input_format_custom_allow_variable_number_of_columns
CustomSeparated 입력에서 파일에 예상보다 많은 컬럼이 있으면 추가 컬럼을 무시하고, 누락된 필드는 기본값으로 처리합니다
input_format_custom_detect_header
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 23.1 | 1 | 기본적으로 CustomSeparated format에서 이름과 타입이 포함된 헤더를 감지합니다 |
CustomSeparated format에서 이름과 타입이 포함된 헤더를 자동으로 감지합니다
input_format_custom_skip_trailing_empty_lines
CustomSeparated 포맷의 끝에 있는 빈 줄을 건너뜁니다
input_format_defaults_for_omitted_fields
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 19.12 | 1 | 일부 입력 형식에서 생략된 필드에 대해 복잡한 기본 표현식을 계산하도록 활성화합니다. 이는 예상되는 동작이기 때문입니다 |
INSERT 쿼리를 수행할 때 생략된 입력 컬럼 값을 해당 컬럼의 기본값으로 대체합니다. 이 옵션은 JSONEachRow(및 기타 JSON 포맷), CSV, TabSeparated, TSKV, Parquet, Arrow, Avro, ORC, Native 포맷과 WithNames/WithNamesAndTypes 접미사가 있는 포맷에 적용됩니다.
가능한 값:
- 0 — 비활성화됨.
- 1 — 활성화됨.
input_format_force_null_for_omitted_fields
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 24.5 | 0 | 필요한 경우 누락된 필드에 타입 기본값을 적용하지 않음 |
누락된 필드를 NULL 값으로 강제 초기화
input_format_geojson_unsupported_geometry_handling
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 26.6 | throw | Geometry 타입으로 표현할 수 없는 GeoJSON geometry 타입(예: GeometryCollection)의 처리 방식을 제어하는 새로운 설정 |
GeoJSON 입력을 읽는 동안 ClickHouse의 Geometry 타입으로 표현할 수 없는 유효한 GeoJSON geometry 타입(GeometryCollection 등)을 geometry 컬럼에 저장해야 하는 경우의 처리 방식을 제어합니다.
가능한 값:
'throw'(기본값) — 예외를 발생시킵니다.'null'—geometry컬럼에NULL값을 삽입하고 파싱을 계속합니다.
이 설정은 geometry 컬럼이 구체화된 경우에만 적용됩니다. 해당 컬럼이 요청된 출력 컬럼이 아닌 경우에는 이러한 geometry의 형식 유효성만 검증하며, 이 처리 방식은 적용되지 않습니다.
input_format_hive_text_allow_variable_number_of_columns
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 24.4 | 1 | Hive Text 입력에서 추가 컬럼(파일에 예상보다 많은 컬럼이 있는 경우)은 무시하고, 누락된 필드는 기본값으로 처리합니다. |
Hive Text 입력에서 추가 컬럼(파일에 예상보다 많은 컬럼이 있는 경우)은 무시하고, 누락된 필드는 기본값으로 처리합니다.
input_format_hive_text_collection_items_delimiter
Hive Text File에서 컬렉션(배열 또는 맵) 항목 사이를 구분하는 문자
input_format_hive_text_fields_delimiter
Hive Text File의 필드 구분자
input_format_hive_text_map_keys_delimiter
Hive Text File에서 맵 키/값 쌍을 구분하는 구분자
input_format_import_nested_json
중첩 객체를 포함한 JSON 데이터의 삽입을 활성화하거나 비활성화합니다.
지원되는 포맷:
가능한 값:
- 0 — 비활성화됨.
- 1 — 활성화됨.
관련 항목:
JSONEachRow포맷의 중첩 구조 사용.
input_format_ipv4_default_on_conversion_error
IPv4를 역직렬화할 때 변환 오류가 발생하면 예외를 발생시키는 대신 기본값을 사용합니다.
기본적으로 비활성화되어 있습니다.
input_format_ipv6_default_on_conversion_error
IPV6 역직렬화 중 변환 오류가 발생하면 예외를 발생시키는 대신 기본값을 사용합니다.
기본적으로 비활성화되어 있습니다.
input_format_json_compact_allow_variable_number_of_columns
JSONCompact/JSONCompactEachRow 입력 포맷에서 행마다 컬럼 수가 달라도 허용합니다. 예상한 것보다 컬럼이 많은 행의 추가 컬럼은 무시하고, 누락된 컬럼은 기본값으로 처리합니다.
기본적으로 비활성화되어 있습니다.
input_format_json_defaults_for_missing_elements_in_named_tuple
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 23.1 | 1 | 기본적으로 named tuple을 읽을 때 JSON 객체에서 누락된 원소를 허용합니다 |
named tuple을 파싱할 때 JSON 객체에서 누락된 원소에 기본값을 삽입합니다.
이 설정은 input_format_json_named_tuples_as_objects 설정이 활성화된 경우에만 작동합니다.
기본적으로 활성화되어 있습니다.
input_format_json_empty_as_default
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 24.9 | 0 | JSON 입력에서 빈 필드를 기본값으로 처리할 수 있도록 새로운 설정이 추가되었습니다. |
활성화하면 JSON 입력의 빈 필드를 기본값으로 대체합니다. 기본값 표현식이 복잡한 경우에는 input_format_defaults_for_omitted_fields도 함께 활성화해야 합니다.
가능한 값:
- 0 — 비활성화.
- 1 — 활성화.
input_format_json_ignore_unknown_keys_in_named_tuple
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 23.3 | 1 | JSON 객체를 이름이 지정된 Tuple로 파싱하는 기능 개선 |
이름이 지정된 Tuple용 JSON 객체에서 알 수 없는 키를 무시합니다.
기본적으로 활성화되어 있습니다.
input_format_json_ignore_unnecessary_fields
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 24.4 | 1 | 불필요한 필드는 무시하고 파싱하지 않습니다. 이 옵션을 활성화하면 형식이 잘못되었거나 중복된 필드가 있는 JSON 문자열에서 예외가 발생하지 않을 수 있습니다 |
불필요한 필드는 무시하고 파싱하지 않습니다. 이 옵션을 활성화하면 형식이 잘못되었거나 중복된 필드가 있는 JSON 문자열에서 예외가 발생하지 않을 수 있습니다
input_format_json_infer_array_of_dynamic_from_array_of_different_types
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 25.8 | 1 | 기본적으로 값의 데이터 타입이 서로 다른 JSON 배열에 대해 Array(Dynamic)을 추론합니다 |
활성화하면 스키마 추론 시 ClickHouse는 값의 데이터 타입이 서로 다른 JSON 배열에 Array(Dynamic) 타입을 사용합니다.
예시:
SET input_format_json_infer_array_of_dynamic_from_array_of_different_types=1;
DESC format(JSONEachRow, '{"a" : [42, "hello", [1, 2, 3]]}');┌─name─┬─type───────────┐
│ a │ Array(Dynamic) │
└──────┴────────────────┘SET input_format_json_infer_array_of_dynamic_from_array_of_different_types=0;
DESC format(JSONEachRow, '{"a" : [42, "hello", [1, 2, 3]]}');┌─name─┬─type─────────────────────────────────────────────────────────────┐
│ a │ Tuple(Nullable(Int64), Nullable(String), Array(Nullable(Int64))) │
└──────┴──────────────────────────────────────────────────────────────────┘기본적으로 활성화되어 있습니다.
input_format_json_infer_incomplete_types_as_strings
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 23.9 | 1 | 기본적으로 JSON 포맷에서 불완전한 타입을 String으로 추론할 수 있도록 허용합니다 |
스키마 추론 중 데이터 샘플에서 Null/{}/[]만 포함된 JSON 키에 대해 String 타입을 사용할 수 있도록 허용합니다.
JSON 포맷에서는 모든 값을 String으로 읽을 수 있으므로, 타입을 알 수 없는 키에 String 타입을 사용하면 스키마 추론 중 Cannot determine type for column 'column_name' by first 25000 rows of data, most likely this column contains only Nulls or empty Arrays/Maps와 같은 오류를 방지할 수 있습니다.
예시:
SET input_format_json_infer_incomplete_types_as_strings = 1, input_format_json_try_infer_named_tuples_from_objects = 1;
DESCRIBE format(JSONEachRow, '{"obj" : {"a" : [1,2,3], "b" : "hello", "c" : null, "d" : {}, "e" : []}}');
SELECT * FROM format(JSONEachRow, '{"obj" : {"a" : [1,2,3], "b" : "hello", "c" : null, "d" : {}, "e" : []}}');결과:
┌─name─┬─type───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┬─default_type─┬─default_expression─┬─comment─┬─codec_expression─┬─ttl_expression─┐
│ obj │ Tuple(a Array(Nullable(Int64)), b Nullable(String), c Nullable(String), d Nullable(String), e Array(Nullable(String))) │ │ │ │ │ │
└──────┴────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┴──────────────┴────────────────────┴─────────┴──────────────────┴────────────────┘
┌─obj────────────────────────────┐
│ ([1,2,3],'hello',NULL,'{}',[]) │
└────────────────────────────────┘기본적으로 활성화되어 있습니다.
input_format_json_map_as_array_of_tuples
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 25.7 | 0 | 새로운 설정 |
맵 컬럼을 튜플로 이루어진 JSON 배열로 역직렬화합니다.
기본적으로 비활성화되어 있습니다.
input_format_json_max_depth
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 24.8 | 1000 | 이전 버전에서는 제한이 없었지만, 이는 안전하지 않았습니다. |
JSON 필드의 최대 깊이입니다. 이는 엄격한 제한이 아니므로 정확히 적용되지 않을 수 있습니다.
input_format_json_max_object_size
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 26.8 | 536870912 | 단일 JSON 객체의 최대 크기를 바이트 단위로 제한하는 새로운 설정 |
단일 JSON 객체에 허용되는 최대 크기(바이트)입니다. 이 제한을 초과하는 객체는 형식이 잘못되었을 가능성이 높아 거부됩니다. 형식이 잘못된 JSON 문서가 하나의 객체로 파싱될 때 발생할 수 있는 메모리 고갈을 방지합니다. 병렬 및 비병렬 파싱 경로에 동일한 제한이 적용됩니다. 검사를 비활성화하려면 0으로 설정하십시오.
input_format_json_max_string_column_growth_step
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 26.8 | 0 | JSON 구체화 과정에서 JSON 컬럼 내부 String 버퍼의 2의 거듭제곱 단위 증가를 제한해 과도한 할당을 방지하는 새로운 설정입니다. |
문자열에서 JSON을 파싱하면서 JSON 컬럼 내부의 String 버퍼를 생성할 때 2의 거듭제곱 단위 증가를 이 바이트 수로 제한합니다. 예약된 크기가 이 값에 도달하면 버퍼는 두 배로 늘어나는 대신 이 크기만큼씩 증가합니다. 이를 통해 대규모 JSON 컬럼에서 과도한 할당을 제한합니다. 0은 제한 없음(계속 두 배로 증가)을 의미합니다.
input_format_json_named_tuples_as_objects
named tuple 컬럼을 JSON 객체로 해석합니다.
기본적으로 활성화되어 있습니다.
input_format_json_read_arrays_as_strings
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 23.9 | 1 | 기본적으로 JSON 포맷에서 JSON 배열을 문자열로 읽을 수 있도록 허용합니다 |
JSON 입력 포맷에서 JSON 배열을 문자열로 파싱할 수 있도록 허용합니다.
예시:
SET input_format_json_read_arrays_as_strings = 1;
SELECT arr, toTypeName(arr), JSONExtractArrayRaw(arr)[3] from format(JSONEachRow, 'arr String', '{"arr" : [1, "Hello", [1,2,3]]}');결과:
┌─arr───────────────────┬─toTypeName(arr)─┬─arrayElement(JSONExtractArrayRaw(arr), 3)─┐
│ [1, "Hello", [1,2,3]] │ String │ [1,2,3] │
└───────────────────────┴─────────────────┴───────────────────────────────────────────┘기본적으로 활성화되어 있습니다.
input_format_json_read_bools_as_numbers
JSON 입력 형식에서 bool을 숫자로 파싱할 수 있습니다.
기본적으로 활성화되어 있습니다.
input_format_json_read_bools_as_strings
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 24.1 | 1 | 기본적으로 JSON 포맷에서 불리언 값을 문자열로 읽을 수 있도록 허용합니다 |
JSON 입력 포맷에서 불리언 값을 문자열로 파싱할 수 있도록 허용합니다.
기본적으로 활성화되어 있습니다.
input_format_json_read_numbers_as_strings
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 23.9 | 1 | 기본적으로 JSON 포맷에서 숫자를 문자열로 읽을 수 있도록 허용합니다 |
JSON 입력 포맷에서 숫자를 문자열로 읽을 수 있도록 합니다.
기본적으로 활성화되어 있습니다.
input_format_json_read_objects_as_strings
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 23.1 | 1 | object type이 Experimental인 경우 중첩된 JSON 객체를 문자열로 읽을 수 있도록 합니다 |
JSON 입력 형식에서 JSON 객체를 문자열로 파싱할 수 있도록 허용합니다.
예시:
SET input_format_json_read_objects_as_strings = 1;
CREATE TABLE test (id UInt64, obj String, date Date) ENGINE=Memory();
INSERT INTO test FORMAT JSONEachRow {"id" : 1, "obj" : {"a" : 1, "b" : "Hello"}, "date" : "2020-01-01"};
SELECT * FROM test;결과:
┌─id─┬─obj──────────────────────┬───────date─┐
│ 1 │ {"a" : 1, "b" : "Hello"} │ 2020-01-01 │
└────┴──────────────────────────┴────────────┘기본적으로 활성화되어 있습니다.
input_format_json_throw_on_bad_escape_sequence
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 24.4 | 1 | 잘못된 이스케이프 시퀀스가 포함된 JSON 문자열도 저장하도록 허용 |
JSON 입력 포맷에서 JSON 문자열에 잘못된 이스케이프 시퀀스가 포함된 경우 예외를 발생시킵니다. 비활성화하면 잘못된 이스케이프 시퀀스는 데이터에 그대로 유지됩니다.
기본적으로 활성화되어 있습니다.
input_format_json_try_infer_named_tuples_from_objects
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 23.9 | 1 | 기본적으로 JSON 객체에서 이름이 지정된 Tuple을 추론하도록 시도합니다 |
활성화되면 스키마 추론 중에 ClickHouse가 JSON 객체에서 이름이 지정된 Tuple을 추론하려고 시도합니다. 그 결과 생성되는 이름이 지정된 Tuple에는 샘플 데이터의 해당 JSON 객체들에 포함된 모든 원소가 들어갑니다.
예시:
SET input_format_json_try_infer_named_tuples_from_objects = 1;
DESC format(JSONEachRow, '{"obj" : {"a" : 42, "b" : "Hello"}}, {"obj" : {"a" : 43, "c" : [1, 2, 3]}}, {"obj" : {"d" : {"e" : 42}}}')결과:
┌─name─┬─type───────────────────────────────────────────────────────────────────────────────────────────────┬─default_type─┬─default_expression─┬─comment─┬─codec_expression─┬─ttl_expression─┐
│ obj │ Tuple(a Nullable(Int64), b Nullable(String), c Array(Nullable(Int64)), d Tuple(e Nullable(Int64))) │ │ │ │ │ │
└──────┴────────────────────────────────────────────────────────────────────────────────────────────────────┴──────────────┴────────────────────┴─────────┴──────────────────┴────────────────┘기본적으로 활성화되어 있습니다.
input_format_json_try_infer_numbers_from_strings
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 23.9 | 0 | 가능한 parsing 오류를 방지하기 위해 기본적으로 JSON 포맷에서는 문자열에서 숫자를 추론하지 않습니다 |
활성화하면 스키마 추론 중에 ClickHouse가 문자열 필드의 값을 숫자로 추론합니다. JSON 데이터에 따옴표로 묶인 UInt64 숫자가 포함된 경우 유용할 수 있습니다.
기본적으로 비활성화되어 있습니다.
input_format_json_use_string_type_for_ambiguous_paths_in_named_tuples_inference_from_objects
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 24.3 | 0 | JSON 객체에서 이름이 지정된 Tuple을 추론할 때 모호한 경로가 있으면 예외 대신 String type을 사용할 수 있습니다 |
JSON 객체에서 이름이 지정된 Tuple을 추론할 때 경로가 모호하면 예외 대신 String type을 사용합니다
input_format_json_validate_types_from_metadata
JSON/JSONCompact/JSONColumnsWithMetadata 입력 형식에서 이 설정이 1로 지정되면, 입력 데이터의 메타데이터에 있는 타입을 테이블의 해당 컬럼 타입과 비교합니다.
기본적으로 활성화되어 있습니다.
input_format_max_block_size_bytes
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 25.5 | 0 | 입력 형식이 생성하는 블록의 바이트 크기를 제한하는 새로운 설정 |
입력 형식에서 데이터를 파싱하는 동안 생성되는 블록의 크기를 바이트 단위로 제한합니다. 블록이 ClickHouse 측에서 생성되는 행 기반 입력 형식에서 사용됩니다. 0은 바이트 단위 크기 제한이 없음을 의미합니다.
input_format_max_block_wait_ms
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 26.2 | 0 | 입력 형식이 블록을 내보내기 전에 대기할 수 있는 최대 시간을 밀리초 단위로 제한하는 새로운 설정 |
행 기반 입력 형식에서 파싱 중 블록을 내보내기 전에 대기할 수 있는 최대 시간을 밀리초 단위로 제한합니다. 0은 제한이 없음을 의미합니다.
예시: Wikipedia 최근 변경 사항을 ClickHouse로 스트리밍 삽입하기
clickhouse-client --query 'CREATE TABLE wikipedia_edits (data JSON)'
curl -sS --globoff -H 'Accept: application/json' --no-buffer \
'https://stream.wikimedia.org/v2/stream/recentchange' \
| clickhouse-client \
--query 'INSERT INTO wikipedia_edits FORMAT JSONAsObject' \
--input_format_max_block_wait_ms 1000 \
--input_format_connection_handling 1 \
--min_insert_block_size_rows 0 \
--min_insert_block_size_bytes 0input_format_max_bytes_to_read_for_schema_inference
자동 스키마 추론을 위해 읽을 수 있는 데이터의 최대 바이트 수입니다.
input_format_max_rows_to_read_for_schema_inference
자동 스키마 추론을 위해 읽을 데이터의 최대 행 수입니다.
input_format_msgpack_number_of_columns
삽입된 MsgPack 데이터의 컬럼 수입니다. 데이터에서 자동으로 스키마를 추론할 때 사용됩니다.
input_format_mysql_dump_map_column_names
MySQL dump의 테이블 컬럼과 ClickHouse 테이블 컬럼을 이름 기준으로 매칭합니다
input_format_mysql_dump_table_name
데이터를 읽을 MySQL dump의 테이블 이름
input_format_native_allow_types_conversion
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 23.3 | 1 | Native 입력 형식에서 데이터 타입 변환 허용 |
Native 입력 형식에서 데이터 타입 변환 허용
input_format_native_decode_types_in_binary_format
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 24.7 | 0 | Native 출력 형식에서 타입 이름 대신 바이너리 형식으로 타입을 읽을 수 있도록 하는 새로운 설정이 추가되었습니다 |
Native 입력 형식에서 타입 이름 대신 바이너리 형식으로 데이터 타입을 읽습니다
input_format_null_as_default
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 21.1 | 1 | 입력 형식에서 기본적으로 NULL을 기본값으로 삽입할 수 있도록 허용 |
이 설정은 해당 필드의 데이터 타입이 널 허용이 아닌 경우, NULL 필드를 기본값(default value)으로 초기화할지 여부를 제어합니다.
컬럼 타입이 널 허용이 아니고 이 설정이 비활성화되어 있으면 NULL을 삽입할 때 예외가 발생합니다. 컬럼 타입이 널 허용이면 이 설정과 관계없이 NULL 값이 그대로 삽입됩니다.
이 설정은 대부분의 입력 형식에 적용됩니다.
복잡한 기본 표현식의 경우 input_format_defaults_for_omitted_fields도 함께 활성화해야 합니다.
가능한 값:
- 0 — 널 허용이 아닌 컬럼에
NULL을 삽입하면 예외가 발생합니다. - 1 —
NULL필드는 컬럼의 기본값으로 초기화됩니다.
input_format_orc_allow_missing_columns
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 23.12 | 1 | 기본적으로 ORC 파일에서 누락된 컬럼을 허용합니다 |
ORC 입력 형식을 읽을 때 누락된 컬럼을 허용합니다
input_format_orc_case_insensitive_column_matching
ORC 컬럼을 CH 컬럼과 매칭할 때 대소문자를 구분하지 않습니다.
input_format_orc_dictionary_as_low_cardinality
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 24.10 | 1 | ORC 파일을 읽을 때 ORC 딕셔너리로 인코딩된 컬럼을 LowCardinality 컬럼으로 처리합니다 |
ORC 파일을 읽을 때 ORC 딕셔너리로 인코딩된 컬럼을 LowCardinality 컬럼으로 처리합니다.
input_format_orc_filter_push_down
ORC 파일을 읽을 때 ORC metadata의 WHERE/PREWHERE 표현식, 최소/최대 통계 또는 블룸 필터를 기준으로 전체 stripe 또는 row group을 건너뜁니다.
input_format_orc_reader_time_zone_name
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 24.7 | GMT | ORC 행 리더의 시간대 이름입니다. 기본 ORC 행 리더의 시간대는 GMT입니다. |
ORC 행 리더의 시간대 이름입니다. 기본 ORC 행 리더의 시간대는 GMT입니다.
input_format_orc_row_batch_size
ORC stripe를 읽을 때의 배치 크기입니다.
input_format_orc_skip_columns_with_unsupported_types_in_schema_inference
ORC 포맷에서 스키마 추론 시 지원되지 않는 타입의 컬럼을 건너뜁니다
input_format_parallel_parsing
데이터 포맷을 순서를 유지한 채 병렬로 파싱할지 설정합니다. TabSeparated (TSV), TSKV, CSV, JSONEachRow 포맷에서만 지원됩니다.
가능한 값:
- 1 — 활성화됨.
- 0 — 비활성화됨.
input_format_parquet_allow_geoparquet_parser
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 25.5 | 1 | Parquet 파일의 geo 컬럼을 사용하기 위한 새로운 설정 |
geo 컬럼 파서를 사용해 Array(UInt8)을 Point/MultiPoint/Linestring/Polygon/MultiLineString/MultiPolygon 타입으로 변환합니다
input_format_parquet_allow_missing_columns
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 23.12 | 1 | 기본적으로 Parquet 파일에서 누락된 컬럼을 허용합니다 |
Parquet 입력 형식을 읽을 때 누락된 컬럼을 허용합니다
input_format_parquet_bloom_filter_push_down
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 25.5 | 1 | Parquet 파일을 읽을 때 Parquet 메타데이터의 WHERE/PREWHERE 표현식과 블룸 필터를 기반으로 row group 전체를 건너뜁니다. |
| 24.10 | 0 | Parquet 파일을 읽을 때 Parquet 메타데이터의 WHERE/PREWHERE 표현식과 블룸 필터를 기반으로 row group 전체를 건너뜁니다. |
Parquet 파일을 읽을 때 Parquet 메타데이터의 WHERE 표현식과 블룸 필터를 기반으로 row group 전체를 건너뜁니다.
input_format_parquet_case_insensitive_column_matching
Parquet 컬럼을 CH 컬럼과 매칭할 때 대소문자를 구분하지 않습니다.
input_format_parquet_dictionary_filter_push_down
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 26.8 | 1048576 | 딕셔너리 페이지 콘텐츠를 기반으로 Parquet row group 프루닝을 활성화하는 새로운 설정입니다(reader v3). 값은 이 최적화가 적용되는 최대 딕셔너리 페이지 크기(바이트)이며, 0(이전 동작)으로 설정하면 비활성화됩니다. |
Parquet 파일을 읽을 때(reader v3) 컬럼 청크의 모든 데이터 페이지가 딕셔너리로 인코딩된 경우, WHERE/PREWHERE 표현식과 딕셔너리 페이지 콘텐츠를 기반으로 전체 row group을 건너뜁니다. 값은 이 최적화가 적용되는 최대 딕셔너리 페이지 크기(바이트)이며, 비활성화하려면 0으로 설정합니다. 둘 다 사용할 수 있으면 블룸 필터보다 우선 적용됩니다.
input_format_parquet_enable_json_parsing
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 25.6 | 1 | Parquet 파일을 읽을 때 JSON 컬럼을 ClickHouse의 JSON 컬럼으로 파싱합니다. |
Parquet 파일을 읽을 때 JSON 컬럼을 ClickHouse의 JSON 컬럼으로 파싱합니다.
input_format_parquet_enable_row_group_prefetch
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 24.10 | 1 | Parquet 파싱 중 row group 프리페치를 활성화합니다. 현재는 단일 스레드 파싱에서만 프리페치를 수행할 수 있습니다. |
Parquet 파싱 중 row group 프리페치를 활성화합니다. 현재는 단일 스레드 파싱에서만 프리페치를 수행할 수 있습니다.
input_format_parquet_filter_push_down
Parquet 파일을 읽을 때 WHERE/PREWHERE 표현식과 Parquet 메타데이터에 있는 최소/최대 통계를 바탕으로 전체 row group을 건너뜁니다.
input_format_parquet_local_file_min_bytes_for_seek
Parquet 입력 형식에서 로컬 읽기(file)가 ignore를 사용해 읽는 대신 seek를 수행하는 데 필요한 최소 바이트 수
input_format_parquet_local_time_as_utc
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 25.11 | 1 | Parquet의 'timezone이 없는 local time' 유형에 더 적합한 DateTime64(..., 'UTC') 타입을 사용합니다. |
isAdjustedToUTC=false인 Parquet 타임스탬프에 대해 스키마 추론 시 사용할 데이터 타입을 결정합니다. true이면 DateTime64(…, 'UTC')를, false이면 DateTime64(…)를 사용합니다. ClickHouse에는 로컬 wall-clock time을 위한 데이터 타입이 없으므로 두 동작 모두 완전히 올바르지는 않습니다. 다소 역설적으로 보일 수 있지만, 'UTC' 타임스탬프를 String으로 포맷하면 올바른 로컬 시간 표현이 생성되므로 'true' 쪽이 아마도 덜 부정확한 선택입니다.
input_format_parquet_max_block_size
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 24.6 | 65409 | Parquet 리더의 블록 크기를 늘렸습니다. |
Parquet 리더의 최대 블록 크기입니다.
input_format_parquet_memory_high_watermark
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 25.8 | 4294967296 | 새로운 설정 |
Parquet 리더 v3의 대략적인 메모리 한도입니다. 병렬로 읽을 수 있는 row group 또는 컬럼 수를 제한합니다. 하나의 쿼리에서 여러 파일을 읽는 경우 이 제한은 해당 파일들 전체의 총 메모리 사용량에 적용됩니다.
input_format_parquet_memory_low_watermark
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 25.8 | 2097152 | 새로운 설정 |
메모리 사용량이 임계값보다 낮을 때 프리페치를 더 적극적으로 예약합니다. 예를 들어 네트워크를 통해 읽어야 하는 작은 블룸 필터가 많은 경우에 유용할 수 있습니다.
input_format_parquet_page_filter_push_down
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 25.8 | 1 | 새로운 설정 (input_format_parquet_use_native_reader_v3가 비활성화된 경우 효과가 없습니다) |
컬럼 인덱스의 최소/최대값을 사용해 페이지를 건너뜁니다.
input_format_parquet_prefer_block_bytes
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 24.6 | 16744704 | Parquet 리더가 출력하는 블록의 평균 바이트 수입니다. |
Parquet 리더가 출력하는 블록의 평균 바이트 수
input_format_parquet_preserve_order
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 23.5 | 0 | 더 높은 병렬성을 위해 Parquet 리더가 행을 재정렬할 수 있도록 허용합니다. |
Parquet 파일을 읽을 때 행이 재정렬되지 않도록 합니다. 일반적으로 행 순서는 보장되지 않고, 쿼리 파이프라인의 다른 부분에서 이 순서가 깨질 수 있으므로 권장하지 않습니다. 대신 ORDER BY _row_number를 사용하세요.
input_format_parquet_skip_columns_with_unsupported_types_in_schema_inference
Parquet 포맷에서 스키마 추론 시 지원되지 않는 타입의 컬럼을 건너뜁니다
input_format_parquet_spatial_filter_push_down
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 26.8 | 1 | 새로운 설정: 공간 프레디케이트 및 경계 상자 통계를 기반으로 GeoParquet row group과 페이지 건너뛰기 |
GeoParquet 파일을 읽을 때 WHERE 절의 공간 프레디케이트와 Parquet 메타데이터에 있는 지오메트리 경계 상자 통계(geospatial_statistics.bbox 또는 covering.bbox 컬럼)를 기준으로 전체 row group을 건너뜁니다. 또한 input_format_parquet_page_filter_push_down과 함께 사용하면 개별 페이지도 건너뜁니다.
input_format_parquet_use_offset_index
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 25.8 | 1 | 새로운 설정 (input_format_parquet_use_native_reader_v3가 비활성화되어 있으면 효과 없음) |
페이지 필터링을 사용하지 않을 때 Parquet 파일에서 페이지를 읽는 방식을 약간 조정합니다.
input_format_parquet_verify_checksums
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 25.11 | 1 | 새 설정입니다. |
Parquet 파일을 읽을 때 페이지 체크섬을 검증합니다.
input_format_protobuf_flatten_google_wrappers
일반 비중첩 컬럼에 대해 Google 래퍼를 활성화합니다. 예를 들어 String 컬럼 'str'에 google.protobuf.StringValue 'str'를 사용할 수 있습니다. 널 허용 컬럼에서는 비어 있는 래퍼를 기본값으로 인식하고, 누락된 값은 NULL로 인식합니다.
input_format_protobuf_oneof_presence
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 25.9 | 0 | 새로운 설정 |
특수 열에 enum 값을 설정하여 protobuf oneof에서 발견된 필드를 나타냅니다
input_format_protobuf_skip_fields_with_unsupported_types_in_schema_inference
Protobuf 포맷의 스키마 추론 시 지원되지 않는 타입의 필드를 건너뜁니다
input_format_read_datetime_number_as_raw_value
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 26.8 | 0 | 26.8부터 `JSON` 및 `Values`/`Quoted` 경로(그리고 `JSONExtract` 및 타입이 지정된 `JSON`)에서 `DateTime`/`DateTime64` 컬럼에 따옴표 없이 입력된 숫자는 `Values` 형식, `CAST`, `toDateTime64`와 마찬가지로 초 단위 Unix timestamp로 처리됩니다. 이를 `true`로 설정하거나(`SET compatibility = '26.7'`) 하면, `DateTime64` 컬럼에 따옴표 없이 입력된 정수를 원시 스케일 값(틱)으로 읽던 26.8 이전 동작으로 되돌립니다. 탭으로 구분된 형식, CSV 및 기타 이스케이프된/전체 텍스트 형식에는 이 설정이 적용되지 않습니다. |
DateTime/DateTime64 컬럼에 따옴표 없이 입력된 정수를 초 단위 Unix timestamp가 아닌 기본 원시 값으로 읽습니다. 즉,
DateTime은 초 단위로, DateTime64는 컬럼 정밀도에 따른 틱으로 읽습니다.
기본적으로 비활성화되어 있습니다. 따옴표 없이 입력된 숫자는 선택적 초 미만 정밀도를 포함한 초 단위 Unix timestamp로 처리되며,
Values 형식, CAST, toDateTime64와 일관됩니다. 이를 활성화하거나(SET compatibility = '26.7') 하면
DateTime64 컬럼에 따옴표 없이 입력된 정수를 원시 스케일 값(틱)으로 해석하던 26.7 이하 버전의 동작을
복원합니다. 레거시 경로에서는 이러한 따옴표 없는 정수만 허용합니다. 설정을 활성화하면 소수부 또는 지수부가 있는 숫자는 행 입력 경로에서
거부됩니다(26.8 이전과 동일). 반면 JSONExtract 및 타입이 지정된 JSON 유형에서는 소수점이 있는 숫자를 여전히
DateTime64에서는 초 단위로 읽고, DateTime에서는 거부합니다(이 또한 26.8 이전과 동일). Values 형식 자체에서는
스트리밍 파서가 거부한 숫자가 SQL 표현식 평가로 대체되어 초 단위로 읽힙니다.
이는 26.8 이전과 이 설정을 활성화한 경우 모두 동일하므로, 소수점이 있는 숫자에 대한 Values의 동작은 모든
구성에서 같습니다.
이 설정은 JSON, Values/Quoted, JSONExtract/타입이 지정된 JSON 경로에만 적용됩니다(Quoted 경로는
Quoted 이스케이프 규칙으로 필드를 파싱하는 모든 포맷, 즉 Values, MySQLDump 및
Quoted 필드 이스케이프가 구성된 Template/CustomSeparated/Regexp를 포함합니다). 탭으로 구분된 형식, CSV 및 기타
이스케이프된/전체 텍스트 형식은 영향을 받지 않습니다. 이러한 형식에서는 따옴표 없이 입력된 큰 DateTime64 숫자를 여전히 틱으로 읽습니다.
input_format_record_errors_file_path
텍스트 형식(CSV, TSV)을 읽는 동안 발생하는 오류를 기록하는 데 사용하는 파일 경로입니다.
input_format_skip_unknown_fields
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 22.6 | 1 | 일부 입력 형식에서 컬럼 부분 집합 읽기 최적화 |
추가 데이터의 삽입을 건너뛸지 여부를 활성화하거나 비활성화합니다.
데이터를 쓸 때 입력 데이터에 대상 테이블에 존재하지 않는 컬럼이 포함되어 있으면 ClickHouse는 예외를 발생시킵니다. 스키핑이 활성화되면 ClickHouse는 추가 데이터를 삽입하지 않으며 예외도 발생시키지 않습니다.
지원되는 포맷:
- JSONEachRow (및 기타 JSON 포맷)
- BSONEachRow (및 기타 JSON 포맷)
- TSKV
- 접미사 WithNames/WithNamesAndTypes가 붙는 모든 포맷
- MySQLDump
- Native
가능한 값:
- 0 — 비활성화됨.
- 1 — 활성화됨.
input_format_try_infer_dates
활성화되면 ClickHouse는 형식의 스키마 추론에서 문자열 필드로부터 Date 유형을 추론하려고 합니다. 입력 데이터의 한 컬럼에 있는 모든 필드가 날짜로 성공적으로 파싱되면 결과 유형은 Date가 되고, 하나라도 날짜로 파싱되지 않으면 결과 유형은 String이 됩니다.
기본적으로 활성화되어 있습니다.
input_format_try_infer_datetimes
활성화되면 ClickHouse는 텍스트 형식의 스키마 추론에서 문자열 필드로부터 DateTime64 유형을 추론하려고 합니다. 입력 데이터의 한 컬럼에 있는 모든 필드가 datetime으로 성공적으로 파싱되면 결과 유형은 DateTime64가 되며, 하나 이상의 필드가 datetime으로 파싱되지 않으면 결과 유형은 String이 됩니다.
기본적으로 활성화되어 있습니다.
input_format_try_infer_datetimes_only_datetime64
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 24.8 | 0 | 데이터 포맷에서 DateTime64 대신 DateTime을 추론하도록 허용합니다 |
input_format_try_infer_datetimes가 활성화되면 DateTime 타입은 추론하지 않고 DateTime64만 추론합니다
input_format_try_infer_exponent_floats
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 24.2 | 0 | 기본적으로 지수 표기법의 부동소수점 수는 추론하지 않습니다 |
형식에서 스키마 추론을 수행할 때 지수 표기법의 부동소수점 수를 추론하도록 시도합니다(JSON은 예외이며, 지수 표기법 숫자는 항상 추론됩니다)
input_format_try_infer_integers
활성화하면 ClickHouse는 형식의 스키마 추론에서 부동소수점 값 대신 정수를 추론하려고 합니다. 입력 데이터의 해당 컬럼에 있는 숫자가 모두 정수이면 결과 유형은 Int64이고, 숫자 중 하나라도 부동소수점 값이면 결과 유형은 Float64입니다.
기본적으로 활성화되어 있습니다.
input_format_try_infer_variants
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 24.9 | 0 | 컬럼/배열 원소에 가능한 타입이 둘 이상인 경우 텍스트 형식에서 Variant 타입 추론을 시도합니다 |
활성화하면 ClickHouse는 텍스트 형식의 스키마 추론에서 컬럼/배열 원소에 가능한 타입이 둘 이상인 경우 Variant 타입 추론을 시도합니다.
가능한 값:
- 0 — 비활성화됨.
- 1 — 활성화됨.
input_format_tsv_allow_variable_number_of_columns
TSV 입력에서 추가 컬럼(파일에 예상보다 많은 컬럼이 있는 경우)은 무시하고, 누락된 필드는 기본값으로 처리합니다
input_format_tsv_crlf_end_of_line
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 24.5 | 0 | TSV 포맷에서 CRLF 줄 끝을 읽을 수 있도록 합니다 |
true로 설정하면 file 함수가 \n 대신 \r\n을 사용하는 TSV 포맷을 읽습니다.
input_format_tsv_detect_header
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 23.1 | 1 | 기본적으로 TSV 포맷에서 이름과 타입이 포함된 헤더를 감지합니다 |
TSV 포맷에서 이름과 타입이 포함된 헤더를 자동으로 감지합니다
input_format_tsv_empty_as_default
TSV 입력에서 빈 필드를 기본값으로 간주합니다.
input_format_tsv_enum_as_number
TSV 포맷에서 삽입된 enum 값을 enum 인덱스로 간주합니다.
input_format_tsv_skip_first_lines
TSV 포맷 데이터의 시작 부분에서 지정한 수의 줄을 건너뜁니다
input_format_tsv_skip_trailing_empty_lines
TSV 포맷에서 끝부분의 빈 줄을 건너뜁니다
input_format_tsv_use_best_effort_in_schema_inference
TSV 포맷에서 스키마를 추론할 때 일부 조정과 휴리스틱을 사용합니다
input_format_values_accurate_types_of_literals
Values 형식의 경우, Template를 사용해 표현식을 구문 분석하고 해석할 때 잠재적인 오버플로우 및 정밀도 문제를 방지하기 위해 리터럴의 실제 타입을 확인합니다.
input_format_values_deduce_templates_of_expressions
Values 형식의 경우: 필드를 streaming parser로 구문 분석할 수 없으면 SQL parser를 실행하고, SQL 표현식의 Template을 추론한 다음, Template을 사용해 모든 행을 구문 분석한 후 모든 행에 대해 표현식을 해석합니다.
input_format_values_interpret_expressions
Values 형식에서 필드를 streaming parser로 파싱할 수 없으면 SQL parser를 실행하여 이를 SQL 표현식으로 해석하려고 시도합니다.
input_format_with_names_use_header
버전 이력
| 버전 | 기본값 | 설명 |
|---|---|---|
| 20.5 | 1 | WithNames/WithNamesAndTypes 접미사가 있는 포맷에서 이름이 포함된 헤더를 사용하도록 설정합니다 |
데이터를 삽입할 때 컬럼 순서를 검사할지 여부를 설정합니다.
삽입 성능을 높이려면 입력 데이터의 컬럼 순서가 대상 테이블과 동일하다고 확신할 수 있는 경우 이 검사를 비활성화하는 것이 좋습니다.
지원되는 포맷:
- CSVWithNames
- CSVWithNamesAndTypes
- TabSeparatedWithNames
- TabSeparatedWithNamesAndTypes
- JSONCompactEachRowWithNames
- JSONCompactEachRowWithNamesAndTypes
- JSONCompactStringsEachRowWithNames
- JSONCompactStringsEachRowWithNamesAndTypes
- RowBinaryWithNames
- RowBinaryWithNamesAndTypes
- CustomSeparatedWithNames
- CustomSeparatedWithNamesAndTypes
가능한 값:
- 0 — 비활성화됨.
- 1 — 활성화됨.
input_format_with_types_use_header
포맷 파서가 입력 데이터의 데이터 타입이 대상 테이블의 데이터 타입과 일치하는지 검사할지 여부를 제어합니다.
지원되는 포맷:
- CSVWithNamesAndTypes
- TabSeparatedWithNamesAndTypes
- JSONCompactEachRowWithNamesAndTypes
- JSONCompactStringsEachRowWithNamesAndTypes
- RowBinaryWithNamesAndTypes
- CustomSeparatedWithNamesAndTypes
가능한 값:
- 0 — 비활성화됨.
- 1 — 활성화됨.