allow_special_bool_values_inside_variant
bool_false_representation
bool_true_representation
check_conversion_from_numbers_to_enum
- 0 — 已禁用。
- 1 — 已启用。
column_names_for_schema_inference
date_time_64_output_format_cut_trailing_zeros_align_to_groups_of_thousands
date_time_input_format
-
'best_effort'— 启用扩展解析。 ClickHouse 可以解析基础的YYYY-MM-DD HH:MM:SS格式以及所有 ISO 8601 日期和时间格式。例如,'2018-06-08T01:02:03.000Z'。 -
'best_effort_us'— 与best_effort类似 (差异请参见 parseDateTimeBestEffortUS -
'basic'— 使用基础解析器。 ClickHouse 只能解析基础的YYYY-MM-DD HH:MM:SS或YYYY-MM-DD格式。例如,2019-08-20 10:18:56或2019-08-20。
date_time_output_format
-
simple- 简单输出格式。 ClickHouse 以YYYY-MM-DD hh:mm:ss格式输出日期和时间。例如,2019-08-20 10:18:56。计算根据数据类型的时区 (如果存在) 或服务器时区进行。 -
iso- ISO 输出格式。 ClickHouse 以 ISO 8601YYYY-MM-DDThh:mm:ssZ格式输出日期和时间。例如,2019-08-20T10:18:56Z。请注意,输出为 UTC (Z表示 UTC) 。 -
unix_timestamp- Unix 时间戳输出格式。 ClickHouse 以 Unix timestamp 格式输出日期和时间。例如,1566285536。
date_time_overflow_behavior
ignore— 静默忽略溢出。结果未定义。throw— 发生溢出时抛出异常。saturate— 对结果执行饱和处理。如果该值小于目标类型可表示的最小值,则结果取最小可表示值;如果该值大于目标类型可表示的最大值,则结果取最大可表示值。
ignore。
errors_output_format
format_avro_schema_registry_connection_timeout
format_avro_schema_registry_receive_timeout
format_avro_schema_registry_send_timeout
format_avro_schema_registry_url
format_binary_max_array_size
format_binary_max_object_size
format_binary_max_string_size
format_capn_proto_enum_comparising_mode
format_capn_proto_max_message_size
format_capn_proto_use_autogenerated_schema
format_csv_allow_double_quotes
format_csv_allow_single_quotes
format_csv_delimiter
format_csv_null_representation
format_custom_escaping_rule
format_custom_field_delimiter
format_custom_result_after_delimiter
format_custom_result_before_delimiter
format_custom_row_after_delimiter
format_custom_row_before_delimiter
format_custom_row_between_delimiter
format_display_secrets_in_show_and_select
SHOW 与 SELECT 查询中显示 secrets。
希望查看 secrets 的用户,还必须启用
display_secrets_in_show_and_select server setting
并拥有
displaySecretsInShowAndSelect 权限。
Possible values:
- 0 — 已禁用。
- 1 — 已启用。
format_json_object_each_row_column_for_object_name
row_{i}。
format_protobuf_use_autogenerated_schema
format_regexp
format_regexp_escaping_rule
format_regexp_skip_unmatched
format_schema
format_schema_message_name
format_schema 中定义的 schema 里所需消息的名称。
为保持与旧版 format_schema 格式 (file_name:message_name) 的兼容性:
- 如果未指定
format_schema_message_name,则会从旧版format_schema值中的message_name部分推断消息名称。 - 如果在使用旧版格式时指定了
format_schema_message_name,则会报错。
format_schema_source
format_schema 的来源。
可能的值:
- ‘file’ (默认) :
format_schema是位于format_schemas目录中的 schema 文件名。 - ‘string’:
format_schema是 schema 的字面内容。 - ‘query’:
format_schema是用于获取 schema 的查询。 当format_schema_source设置为 ‘query’ 时,需满足以下条件: - 查询必须恰好返回一个值:即单行单个 String 列。
- 查询结果会被视为 schema 内容。
- 该结果会缓存在本地的
format_schemas目录中。 - 可以使用以下命令清除本地缓存:
SYSTEM DROP FORMAT SCHEMA CACHE FOR Files。 - 一旦被缓存,相同的查询不会再次执行来获取 schema,直到缓存被显式清除。
- 除了本地缓存文件外,Protobuf 消息也会缓存在内存中。即使清除了本地缓存文件,也必须使用
SYSTEM DROP FORMAT SCHEMA CACHE [FOR Protobuf]清除内存缓存,才能完全刷新 schema。 - 运行查询
SYSTEM DROP FORMAT SCHEMA CACHE可一次性清除缓存文件和 Protobuf 消息 schema 的缓存。
format_template_resultset
format_template_resultset_format
format_template_row
format_template_row_format
format_template_rows_between_delimiter
format_tsv_null_representation
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
input_format_csv_detect_header
input_format_csv_empty_as_default
input_format_csv_enum_as_number
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_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 — 启用。
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_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 时生效。设置该值还会禁用并行解析,并导致无法去重。对于流式 insert,你还必须设置
min_insert_block_size_rows=0 和 min_insert_block_size_bytes=0。否则,已解析的块仍可能在块 squashing 阶段累积在内存中,直到达到这些阈值,从而无法及时插入。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 — 将
NULL插入非 Nullable 列会导致异常。 - 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_orc_use_fast_decoder
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_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 的 Parquet 时间戳进行 schema inference 时使用的数据类型。如果为 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_use_offset_index
input_format_parquet_verify_checksums
input_format_protobuf_flatten_google_wrappers
str 使用 google.protobuf.StringValue str。对于 Nullable 列,空包装器会被视为默认值,缺失的则会被视为 NULL
input_format_protobuf_oneof_presence
input_format_protobuf_skip_fields_with_unsupported_types_in_schema_inference
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 — 已启用。
insert_distributed_one_random_shard
Distributed 表插入数据时,如果没有分布式键,ClickHouse 服务器会拒绝任何插入请求。当 insert_distributed_one_random_shard = 1 时,则允许插入,数据会被随机转发到所有分片中的某一个。
可能的值:
- 0 — 如果存在多个分片且未提供分布式键,则拒绝插入。
- 1 — 如果未提供分布式键,则在所有可用分片中随机选择一个执行插入。
interval_output_format
-
kusto- KQL 风格输出格式。 ClickHouse 以 KQL 格式输出时间间隔。例如,toIntervalDay(2)会格式化为2.00:00:00。请注意,对于长度可变的时间间隔类型 (即IntervalMonth和IntervalYear) ,会按每个时间间隔的平均秒数进行换算。 -
numeric- 数值输出格式。 ClickHouse 将时间间隔输出为其底层数值表示。例如,toIntervalDay(2)会格式化为2。
into_outfile_create_parent_directories
json_type_escape_dots_in_keys
max_dynamic_subcolumns_in_json_type_parsing
output_format_arrow_compression_method
output_format_arrow_date_as_uint16
output_format_arrow_fixed_string_as_fixed_byte_array
output_format_arrow_low_cardinality_as_dictionary
output_format_arrow_string_as_string
output_format_arrow_unsupported_types_as_binary
output_format_arrow_use_64_bit_indexes_for_dictionary
output_format_arrow_use_signed_indexes_for_dictionary
output_format_avro_codec
output_format_avro_confluent_subject
output_format_avro_rows_in_file
output_format_avro_string_column_pattern
output_format_avro_sync_interval
output_format_binary_encode_types_in_binary_format
output_format_binary_write_json_as_string
output_format_bson_string_as_string
output_format_compression_level
SELECT 查询包含 INTO OUTFILE,或写入表函数 file、url、hdfs、s3 或 azureBlobStorage 时生效。
可能的值:1 到 22
output_format_compression_zstd_window_log
zstd 时使用。如果该值大于 0,此设置会显式指定压缩窗口大小 (2 的幂) ,并为 zstd 压缩启用长距离模式。这有助于获得更高的压缩率。
可能的值:非负数。请注意,如果该值过小或过大,zstdlib 会抛出异常。典型值范围为 20 (窗口大小 = 1MB) 到 30 (窗口大小 = 1GB) 。
output_format_csv_crlf_end_of_line
output_format_csv_serialize_tuple_into_separate_columns
output_format_decimal_trailing_zeros
output_format_json_array_of_rows
- 1 — ClickHouse 将所有行作为一个数组输出,其中每一行都采用
JSONEachRow格式。 - 0 — ClickHouse 将每一行分别以
JSONEachRow格式输出。
output_format_json_escape_forward_slashes
output_format_json_map_as_array_of_tuples
output_format_json_named_tuples_as_objects
output_format_json_pretty_print
data 数组中的显示方式。
例如,不会输出成:
output_format_json_quote_64bit_floats
output_format_json_quote_64bit_integers
UInt64 或 Int128) 时是否加引号。
默认情况下,这类整数会用引号括起来。这种行为与大多数 JavaScript 实现兼容。
可能的值:
- 0 — 整数输出时不加引号。
- 1 — 整数会用引号括起来。
output_format_json_quote_decimals
output_format_json_quote_denormals
+nan、-nan、+inf 和 -inf。
可能的值:
- 0 — 禁用。
- 1 — 启用。
account_orders:
output_format_json_quote_denormals = 0 时,查询输出中会返回 null 值:
output_format_json_quote_denormals = 1 时,查询结果为:
output_format_json_skip_null_value_in_named_tuples
output_format_json_validate_utf8
output_format_markdown_escape_special_characters
- 0 — 禁用。
- 1 — 启用。
output_format_msgpack_uuid_representation
output_format_native_encode_types_in_binary_format
output_format_native_use_flattened_dynamic_and_json_serialization
output_format_native_write_json_as_string
output_format_orc_compression_block_size
output_format_orc_compression_method
output_format_orc_dictionary_key_size_threshold
output_format_orc_row_index_stride
output_format_orc_string_as_string
output_format_orc_writer_time_zone_name
output_format_parallel_formatting
- 1 — 启用。
- 0 — 禁用。
output_format_parquet_batch_size
output_format_parquet_bloom_filter_bits_per_value
- 6 位 - 10%
- 10.5 位 - 1%
- 16.9 位 - 0.1%
- 26.4 位 - 0.01%
- 41 位 - 0.001%
output_format_parquet_bloom_filter_flush_threshold_bytes
- 如果为 0,则每个行组的布隆过滤器都会在该行组之后立即写入,
- 如果大于所有布隆过滤器的总大小,则所有行组的布隆过滤器会先在内存中累积,然后在接近文件末尾处一起写入,
- 否则,布隆过滤器会先在内存中累积,并在其总大小超过该值时写出。
output_format_parquet_compression_method
output_format_parquet_data_page_size
output_format_parquet_date_as_uint16
output_format_parquet_datetime_as_uint32
output_format_parquet_enum_as_byte_array
output_format_parquet_fixed_string_as_fixed_byte_array
output_format_parquet_geometadata
output_format_parquet_max_dictionary_size
output_format_parquet_parallel_encoding
output_format_parquet_row_group_size
output_format_parquet_row_group_size_bytes
output_format_parquet_string_as_string
output_format_parquet_write_bloom_filter
output_format_parquet_write_checksums
output_format_parquet_write_page_index
output_format_pretty_color
- 0 — 不在页脚显示列名。
- 1 — 当行数大于或等于 output_format_pretty_display_footer_column_names_min_rows 设置的阈值时,在页脚显示列名 (默认值为 50) 。
output_format_pretty_fallback_to_vertical
output_format_pretty_fallback_to_vertical_max_rows_per_chunk 和 output_format_pretty_fallback_to_vertical_min_table_width。
output_format_pretty_fallback_to_vertical_max_rows_per_chunk
output_format_pretty_fallback_to_vertical) 才会生效。
output_format_pretty_fallback_to_vertical_min_columns
output_format_pretty_fallback_to_vertical) 。
output_format_pretty_fallback_to_vertical_min_table_width
output_format_pretty_fallback_to_vertical) 。
output_format_pretty_glue_chunks
output_format_pretty_grid_charset
output_format_pretty_highlight_digit_groups
output_format_pretty_highlight_trailing_spaces
output_format_pretty_max_column_name_width_cut_to
output_format_pretty_max_column_name_width_cut_to 与 output_format_pretty_max_column_name_width_min_chars_to_cut 之和,则会被截断。
output_format_pretty_max_column_name_width_min_chars_to_cut
output_format_pretty_max_column_name_width_cut_to 与 output_format_pretty_max_column_name_width_min_chars_to_cut 之和,则会被截断。
output_format_pretty_max_column_pad_width
output_format_pretty_max_rows
output_format_pretty_max_value_width
output_format_pretty_max_value_width_apply_for_single_value
output_format_pretty_max_value_width 设置) 。否则将完整输出,这对 SHOW CREATE TABLE 查询很有用。
output_format_pretty_multiline_fields
output_format_pretty_named_tuples_as_json
output_format_pretty_row_numbers
output_format_pretty_single_large_number_tip_threshold
output_format_pretty_squash_consecutive_ms
output_format_pretty_squash_max_wait_ms
output_format_protobuf_nullables_with_google_wrappers
output_format_schema
output_format_sql_insert_include_column_names
output_format_sql_insert_max_batch_size
output_format_sql_insert_quote_names
output_format_sql_insert_table_name
output_format_sql_insert_use_replace
output_format_trim_fixed_string
toFixedString('John', 8) 会输出为 John,而不是 John\0\0\0\0。
output_format_tsv_crlf_end_of_line
output_format_values_escape_quote_with_quote
output_format_write_statistics
precise_float_parsing
schema_inference_hints
如果
schema_inference_hints 的格式不正确,或者存在拼写错误、数据类型错误等问题……整个 schema_inference_hints 都会被忽略。schema_inference_make_columns_nullable
Nullable。
Possible values:
- 0 - 推断出的类型绝不会为
Nullable(这种情况下如何处理 null 值,可使用 input_format_null_as_default 控制) , - 1 - 所有推断出的类型都会是
Nullable, - 2 or
auto- 仅当某列在 schema 推断 期间解析的样本中包含NULL,或文件元数据中包含该列可空性的信息时,推断出的类型才会是Nullable, - 3 - 如果该 format 提供文件元数据中的可空性信息 (例如 Parquet) ,则推断出的类型可空性将与之保持一致;否则始终为
Nullable(例如 CSV) 。
schema_inference_make_json_columns_nullable
Nullable。
如果此设置与 schema_inference_make_columns_nullable 同时启用,则推断出的 JSON type 将为 Nullable。
schema_inference_mode
show_create_query_identifier_quoting_rule
show_create_query_identifier_quoting_style
type_json_allow_duplicated_key_with_literal_and_nested_object
{"a" : 42, "a" : {"b" : 42}}。
type_json_skip_duplicated_paths
type_json_skip_invalid_typed_paths
JSON(a Int64, b String)) ,即某些特定路径已声明类型的情况。它不适用于常规的 JSON input formats,例如将数据插入普通类型化列时使用的 JSONEachRow。
Possible values:
- 0 — 禁用 (类型不匹配时抛出错误) 。
- 1 — 启用 (类型不匹配时跳过字段) 。