input_format_allow_errors_num
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
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
input_format_arrow_allow_missing_columns
input_format_arrow_case_insensitive_column_matching
input_format_arrow_skip_columns_with_unsupported_types_in_schema_inference
input_format_avro_allow_missing_fields
input_format_avro_null_as_default
input_format_binary_decode_types_in_binary_format
input_format_binary_max_type_complexity
Map(String, UInt32) = 3 个节点。可防止恶意输入。0 = 不限制。
input_format_binary_read_json_as_string
input_format_bson_skip_fields_with_unsupported_types_in_schema_inference
input_format_capn_proto_skip_fields_with_unsupported_types_in_schema_inference
input_format_column_name_matching_mode
- match_case:区分大小写匹配
- ignore_case:不区分大小写匹配
- auto:先尝试区分大小写匹配;如果失败,再尝试不区分大小写匹配。
input_format_connection_handling
启用此选项会禁用并行解析,并且无法进行去重
input_format_csv_allow_cr_end_of_line
input_format_csv_allow_variable_number_of_columns
input_format_csv_allow_whitespace_or_tab_as_delimiter
input_format_csv_arrays_as_nested_csv
input_format_csv_deserialize_separate_columns_into_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
input_format_csv_empty_as_default
input_format_csv_enum_as_number
input_format_csv_missing_nullable_as_empty_string
Nullable(String)。缺失值是指逗号之间、之前或之后未被引号包围的空白内容。如果启用此设置,则无论 input_format_csv_empty_as_default 的值为何,Nullable(String) 的缺失值都会被解释为空 String,而不是 NULL。
input_format_csv_skip_first_lines
input_format_csv_skip_trailing_empty_lines
input_format_csv_trim_whitespaces
input_format_csv_try_infer_numbers_from_strings
input_format_csv_try_infer_strings_from_quoted_tuples
input_format_csv_use_best_effort_in_schema_inference
input_format_csv_use_default_on_bad_values
input_format_custom_allow_variable_number_of_columns
input_format_custom_detect_header
input_format_custom_skip_trailing_empty_lines
input_format_defaults_for_omitted_fields
INSERT 查询时,将省略的输入列值替换为对应列的默认值。此选项适用于 JSONEachRow (以及其他 JSON 格式) 、CSV、TabSeparated、TSKV、Parquet、Arrow、Avro、ORC、Native 格式,以及带有 WithNames/WithNamesAndTypes 后缀的格式。
启用此选项后,服务器会将扩展的表元数据发送给客户端。这会额外占用服务器的计算资源,并可能降低性能。
- 0 — 禁用。
- 1 — 启用。
input_format_force_null_for_omitted_fields
input_format_geojson_unsupported_geometry_handling
GeoJSON 输入时,如果需要将一种无法在 ClickHouse 的 Geometry 类型中表示的有效 GeoJSON 几何类型 (如 GeometryCollection) 存储到 geometry 列中时,系统的处理方式。
可能的值:
'throw'(默认) — 抛出异常。'null'— 为geometry列插入NULL值并继续解析。
geometry 列被 materialized 时适用。当它不是请求的输出列时,此类几何对象只会验证其格式是否正确,但不会触发该处理。
input_format_hive_text_allow_variable_number_of_columns
input_format_hive_text_collection_items_delimiter
input_format_hive_text_fields_delimiter
input_format_hive_text_map_keys_delimiter
input_format_import_nested_json
- 0 — 禁用。
- 1 — 启用。
- Nested 结构的用法 (使用
JSONEachRow格式) 。
input_format_ipv4_default_on_conversion_error
input_format_ipv6_default_on_conversion_error
input_format_json_compact_allow_variable_number_of_columns
input_format_json_defaults_for_missing_elements_in_named_tuple
input_format_json_named_tuples_as_objects 时生效。
默认启用。
input_format_json_empty_as_default
input_format_defaults_for_omitted_fields。
可能的值:
- 0 — 禁用。
- 1 — 启用。
input_format_json_ignore_unknown_keys_in_named_tuple
input_format_json_ignore_unnecessary_fields
input_format_json_infer_array_of_dynamic_from_array_of_different_types
input_format_json_infer_incomplete_types_as_strings
Null/{}/[] 的 JSON 键,允许使用 String 类型。
在 JSON 格式中,任何值都可以读取为 String;通过将类型未知的键视为 String 类型,我们可以避免在 schema 推断 期间出现类似 Cannot determine type for column 'column_name' by first 25000 rows of data, most likely this column contains only Nulls or empty Arrays/Maps 的错误。
示例:
input_format_json_map_as_array_of_tuples
input_format_json_max_depth
input_format_json_max_object_size
input_format_json_max_string_column_growth_step
input_format_json_named_tuples_as_objects
input_format_json_read_arrays_as_strings
input_format_json_read_bools_as_numbers
input_format_json_read_bools_as_strings
input_format_json_read_numbers_as_strings
input_format_json_read_objects_as_strings
input_format_json_throw_on_bad_escape_sequence
input_format_json_try_infer_named_tuples_from_objects
input_format_json_try_infer_numbers_from_strings
input_format_json_use_string_type_for_ambiguous_paths_in_named_tuples_inference_from_objects
input_format_json_validate_types_from_metadata
input_format_max_block_size_bytes
input_format_max_block_wait_ms
此选项仅在启用
input_format_connection_handling 时生效。设置该值还会禁用并行解析,并使去重无法实现。对于流式插入,你还必须设置
min_insert_block_size_rows=0 和 min_insert_block_size_bytes=0。否则,已解析的块仍可能在块合并阶段持续累积在内存中,直到达到这些阈值,从而无法及时插入。input_format_max_bytes_to_read_for_schema_inference
input_format_max_rows_to_read_for_schema_inference
input_format_msgpack_number_of_columns
input_format_mysql_dump_map_column_names
input_format_mysql_dump_table_name
input_format_native_allow_types_conversion
input_format_native_decode_types_in_binary_format
input_format_null_as_default
NULL 会引发异常。如果列类型是 Nullable,则无论此设置如何,NULL 值都会按原样插入。
此设置适用于大多数输入格式。
对于复杂的默认表达式,还必须启用 input_format_defaults_for_omitted_fields。
可能的值:
- 0 — 向非 Nullable 列中插入
NULL会引发异常。 - 1 —
NULL字段会使用列的默认值进行初始化。
input_format_orc_allow_missing_columns
input_format_orc_case_insensitive_column_matching
input_format_orc_dictionary_as_low_cardinality
input_format_orc_filter_push_down
input_format_orc_reader_time_zone_name
input_format_orc_row_batch_size
input_format_orc_skip_columns_with_unsupported_types_in_schema_inference
input_format_parallel_parsing
- 1 — 启用。
- 0 — 禁用。
input_format_parquet_allow_geoparquet_parser
input_format_parquet_allow_missing_columns
input_format_parquet_bloom_filter_push_down
input_format_parquet_case_insensitive_column_matching
input_format_parquet_dictionary_filter_push_down
input_format_parquet_enable_json_parsing
input_format_parquet_enable_row_group_prefetch
input_format_parquet_filter_push_down
input_format_parquet_local_file_min_bytes_for_seek
input_format_parquet_local_time_as_utc
isAdjustedToUTC=false 时,schema inference 为 Parquet 时间戳推断使用的数据类型。若为 true:DateTime64(…, ‘UTC’);若为 false:DateTime64(…)。这两种行为都不完全正确,因为 ClickHouse 没有表示本地挂钟时间的数据类型。虽然有些反直觉,但 true 可能反而是相对没那么错误的选项,因为将 UTC 时间戳格式化为 String 时,会得到正确的本地时间表示。
input_format_parquet_max_block_size
input_format_parquet_memory_high_watermark
input_format_parquet_memory_low_watermark
input_format_parquet_page_filter_push_down
input_format_parquet_prefer_block_bytes
input_format_parquet_preserve_order
ORDER BY _row_number。
input_format_parquet_skip_columns_with_unsupported_types_in_schema_inference
input_format_parquet_spatial_filter_push_down
geospatial_statistics.bbox 或 covering.bbox 列) 跳过整个行组;结合 input_format_parquet_page_filter_push_down,还可跳过单个页面。
input_format_parquet_use_offset_index
input_format_parquet_verify_checksums
input_format_protobuf_flatten_google_wrappers
str 可使用 google.protobuf.StringValue 'str'。对于 Nullable 列,空 wrapper 会被识别为默认值,缺失的则会被识别为 null 值
input_format_protobuf_oneof_presence
input_format_protobuf_skip_fields_with_unsupported_types_in_schema_inference
input_format_read_datetime_number_as_raw_value
DateTime/DateTime64 列中未加引号的整数读取为底层原始值——对于
DateTime 是秒,对于 DateTime64 是按列精度计算的 ticks——而不是以秒为单位的 Unix 时间戳。
默认禁用:未加引号的数字表示以秒为单位的 Unix 时间戳 (可带子秒级精度) ,
与 Values 格式、CAST 和 toDateTime64 的行为一致。启用此设置 (或使用 SET compatibility = '26.7') 可
恢复至 26.7 (含) 版本的行为:传入 DateTime64
列的未加引号整数会被解释为原始标度值 (ticks) 。旧版路径仅接受此类未加引号整数:
启用该设置后,带有小数部分或指数部分的数字会被行输入路径拒绝
(与 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 数字仍会被读取为 ticks。
input_format_record_errors_file_path
input_format_skip_unknown_fields
- JSONEachRow (以及其他 JSON 格式)
- BSONEachRow (以及其他 JSON 格式)
- TSKV
- 所有带有 WithNames/WithNamesAndTypes 后缀的格式
- MySQLDump
- Native
- 0 — 已禁用。
- 1 — 已启用。
input_format_try_infer_dates
Date 类型。如果输入数据中某一列的所有字段都成功解析为日期,则结果类型为 Date;如果至少有一个字段未能解析为日期,则结果类型为 String。
默认已启用。
input_format_try_infer_datetimes
DateTime64 类型。如果输入数据中某一列的所有字段都成功解析为日期时间,结果类型将为 DateTime64;如果其中至少有一个字段未能解析为日期时间,结果类型则为 String。
默认已启用。
input_format_try_infer_datetimes_only_datetime64
input_format_try_infer_exponent_floats
input_format_try_infer_integers
Int64;如果至少有一个数字是浮点数,则结果类型为 Float64。
默认启用。
input_format_try_infer_variants
Variant 类型。
可选值:
- 0 — 已禁用。
- 1 — 已启用。
input_format_tsv_allow_variable_number_of_columns
input_format_tsv_crlf_end_of_line
input_format_tsv_detect_header
input_format_tsv_empty_as_default
input_format_tsv_enum_as_number
input_format_tsv_skip_first_lines
input_format_tsv_skip_trailing_empty_lines
input_format_tsv_use_best_effort_in_schema_inference
input_format_values_accurate_types_of_literals
input_format_values_deduce_templates_of_expressions
input_format_values_interpret_expressions
input_format_with_names_use_header
- 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 — 已启用。