跳过至主要内容

格式设置

bool_false_representation

类型:字符串

默认值:false

在 TSV/CSV/Vertical/Pretty 格式中表示 false 布尔值的文本。

bool_true_representation

类型:字符串

默认值:true

在 TSV/CSV/Vertical/Pretty 格式中表示 true 布尔值的文本。

column_names_for_schema_inference

类型:字符串

默认值

用于在没有列名的格式中进行模式推断时使用的列名列表。格式:'column1,column2,column3,...'

cross_to_inner_join_rewrite

类型:UInt64

默认值:1

如果 WHERE 部分中存在连接表达式,则使用内部连接代替逗号/交叉连接。值:0 - 不重写,1 - 尽可能应用于逗号/交叉连接,2 - 强制重写所有逗号连接,cross - 尽可能应用。

date_time_input_format

类型:DateTimeInputFormat

默认值:basic

允许选择日期和时间的文本表示的解析器。

此设置不适用于 日期和时间函数

可能的值

  • 'best_effort' — 启用扩展解析。

    ClickHouse 可以解析基本的 YYYY-MM-DD HH:MM:SS 格式和所有 ISO 8601 日期和时间格式。例如,'2018-06-08T01:02:03.000Z'

  • 'basic' — 使用基本解析器。

    ClickHouse 只能解析基本的 YYYY-MM-DD HH:MM:SSYYYY-MM-DD 格式。例如,2019-08-20 10:18:562019-08-20

云默认值:'best_effort'

另请参阅

date_time_output_format

类型:DateTimeOutputFormat

默认值:simple

允许选择日期和时间的文本表示的不同输出格式。

可能的值

  • simple - 简单输出格式。

    ClickHouse 输出日期和时间 YYYY-MM-DD hh:mm:ss 格式。例如,2019-08-20 10:18:56。计算根据数据类型的时区(如果存在)或服务器时区执行。

  • iso - ISO 输出格式。

    ClickHouse 输出日期和时间在 ISO 8601 YYYY-MM-DDThh:mm:ssZ 格式中。例如,2019-08-20T10:18:56Z。请注意,输出为 UTC(Z 表示 UTC)。

  • unix_timestamp - Unix 时间戳输出格式。

    ClickHouse 输出日期和时间在 Unix 时间戳 格式中。例如 1566285536

另请参阅

date_time_64_output_format_cut_trailing_zeros_align_to_groups_of_thousands

动态地截断 datetime64 值的尾随零,以将输出比例调整为 (0, 3, 6),分别对应于 毫秒微秒

查看以下示例中的更改

  • 2012-01-01 00:11:22.000000 -> 2012-01-01 00:11:22
  • 2012-01-01 00:11:22.120000 -> 2012-01-01 00:11:22.120
  • 2012-01-01 00:11:22.123400 -> 2012-01-01 00:11:22.123400

默认值:false

date_time_overflow_behavior

类型:DateTimeOverflowBehavior

默认值:ignore

Date、Date32、DateTime、DateTime64 类型溢出模式。可能的值:'ignore'、'throw'、'saturate'。

dictionary_use_async_executor

类型:布尔值

默认值:0

在多个线程中执行读取字典源的管道。仅由具有本地 CLICKHOUSE 源的字典支持。

errors_output_format

类型:字符串

默认值:CSV

将错误写入文本输出的方法。

exact_rows_before_limit

类型:布尔值

默认值:0

启用后,ClickHouse 将为 rows_before_limit_at_least 统计信息提供精确值,但代价是必须完全读取限制之前的数据

format_avro_schema_registry_url

类型:URI

默认值

对于 AvroConfluent 格式:Confluent Schema Registry URL。

format_binary_max_array_size

类型:UInt64

默认值:1073741824

RowBinary 格式中允许的最大数组大小。它可以防止在数据损坏的情况下分配大量的内存。0 表示没有限制

format_binary_max_string_size

类型:UInt64

默认值:1073741824

RowBinary 格式中允许的最大字符串大小。它可以防止在数据损坏的情况下分配大量的内存。0 表示没有限制

format_capn_proto_enum_comparising_mode

类型:CapnProtoEnumComparingMode

默认值:by_values

如何映射 ClickHouse 枚举和 CapnProto 枚举

format_capn_proto_use_autogenerated_schema

类型:布尔值

默认值:1

当 format_schema 未设置时,使用自动生成的 CapnProto 模式

format_csv_allow_double_quotes

类型:布尔值

默认值:1

如果设置为 true,则允许双引号中的字符串。

format_csv_allow_single_quotes

类型:布尔值

默认值:0

如果设置为 true,则允许单引号中的字符串。

format_csv_delimiter

类型:字符

默认值:,

在 CSV 数据中被视为分隔符的字符。如果使用字符串设置,则字符串必须长度为 1。

format_csv_null_representation

类型:字符串

默认值:\N

CSV 格式中的自定义 NULL 表示

format_custom_escaping_rule

类型:EscapingRule

默认值:Escaped

字段转义规则(用于 CustomSeparated 格式)

format_custom_field_delimiter

类型:字符串

默认值

字段之间的分隔符(用于 CustomSeparated 格式)

format_custom_result_after_delimiter

类型:字符串

默认值

结果集后面的后缀(用于 CustomSeparated 格式)

format_custom_result_before_delimiter

类型:字符串

默认值

结果集之前的 前缀(对于 CustomSeparated 格式)

format_custom_row_after_delimiter

类型:字符串

默认值

最后一列字段之后的 分隔符(对于 CustomSeparated 格式)

format_custom_row_before_delimiter

类型:字符串

默认值

第一列字段之前的 分隔符(对于 CustomSeparated 格式)

format_custom_row_between_delimiter

类型:字符串

默认值

行之间的 分隔符(对于 CustomSeparated 格式)

format_display_secrets_in_show_and_select

类型:布尔值

默认值:0

启用或禁用在 SHOWSELECT 查询中显示表、数据库、表函数和字典的秘密。

想要查看秘密的用户也必须拥有 display_secrets_in_show_and_select 服务器设置 启用以及 displaySecretsInShowAndSelect 权限。

可能的值

  • 0 — 禁用。
  • 1 — 启用。

format_json_object_each_row_column_for_object_name

类型:字符串

默认值

用于存储/写入 JSONObjectEachRow 格式中对象名称的列的名称。列类型应为 String。如果值为空,则默认名称 row_{i} 将用于对象名称。

input_format_json_compact_allow_variable_number_of_columns

允许 JSONCompact/JSONCompactEachRow 输入格式中行的列数可变。忽略比预期列数更多的行的额外列,并将缺失的列视为默认值。

默认情况下禁用。

output_format_markdown_escape_special_characters

启用后,对 Markdown 中的特殊字符进行转义。

Common Mark 定义了以下可以使用 \ 进行转义的特殊字符

! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~

可能的值

  • 0 — 禁用。
  • 1 — 启用。

input_format_json_empty_as_default

启用后,将 JSON 中的空输入字段替换为默认值。对于复杂的默认表达式,input_format_defaults_for_omitted_fields 也必须启用。

可能的值

  • 0 — 禁用。
  • 1 — 启用。

format_protobuf_use_autogenerated_schema

类型:布尔值

默认值:1

当 format_schema 未设置时,使用自动生成的 Protobuf

format_regexp

类型:字符串

默认值

正则表达式(对于 Regexp 格式)

format_regexp_escaping_rule

类型:EscapingRule

默认值:Raw

字段转义规则(对于 Regexp 格式)

format_regexp_skip_unmatched

类型:布尔值

默认值:0

跳过与正则表达式不匹配的行(对于 Regexp 格式)

format_schema

类型:字符串

默认值

当您使用需要模式定义的格式(如 Cap’n ProtoProtobuf)时,此参数很有用。值取决于格式。

format_template_resultset

类型:字符串

默认值

包含结果集格式字符串的文件路径(对于 Template 格式)

format_template_resultset_format

类型:字符串

默认值

结果集的格式字符串(对于 Template 格式)

format_template_row

类型:字符串

默认值

包含行格式字符串的文件路径(对于 Template 格式)

format_template_row_format

类型:字符串

默认值

行的格式字符串(对于 Template 格式)

format_template_rows_between_delimiter

类型:字符串

默认值

行之间的分隔符(对于 Template 格式)

format_tsv_null_representation

类型:字符串

默认值:\N

TSV 格式中的自定义 NULL 表示

input_format_allow_errors_num

类型:UInt64

默认值:0

设置从文本格式(CSV、TSV 等)读取时可接受的错误的最大数量。

默认值为 0。

始终与 input_format_allow_errors_ratio 配对。

如果在读取行时发生错误,但错误计数器仍然小于 input_format_allow_errors_num,ClickHouse 会忽略该行并继续读取下一行。

如果 input_format_allow_errors_numinput_format_allow_errors_ratio 都超过了,ClickHouse 会抛出异常。

input_format_allow_errors_ratio

类型:Float

默认值:0

设置从文本格式(CSV、TSV 等)读取时允许的错误的最大百分比。错误百分比设置为 0 到 1 之间的浮点数。

默认值为 0。

始终与 input_format_allow_errors_num 配对。

如果在读取行时发生错误,但错误计数器仍然小于 input_format_allow_errors_ratio,ClickHouse 会忽略该行并继续读取下一行。

如果 input_format_allow_errors_numinput_format_allow_errors_ratio 都超过了,ClickHouse 会抛出异常。

input_format_allow_seeks

类型:布尔值

默认值:1

允许在读取 ORC/Parquet/Arrow 输入格式时进行查找。

默认情况下启用。

input_format_arrow_allow_missing_columns

类型:布尔值

默认值:1

允许读取 Arrow 输入格式时缺少列

input_format_arrow_case_insensitive_column_matching

类型:布尔值

默认值:0

在将 Arrow 列与 CH 列匹配时忽略大小写。

input_format_arrow_skip_columns_with_unsupported_types_in_schema_inference

类型:布尔值

默认值:0

在为格式 Arrow 进行模式推断时,跳过具有不支持类型的列

input_format_avro_allow_missing_fields

类型:布尔值

默认值:0

对于 Avro/AvroConfluent 格式:当在模式中找不到字段时,使用默认值而不是错误

input_format_avro_null_as_default

类型:布尔值

默认值:0

对于 Avro/AvroConfluent 格式:在为空且非 Nullable 列的情况下插入默认值

input_format_binary_decode_types_in_binary_format

类型:布尔值

默认值:0

在 RowBinaryWithNamesAndTypes 输入格式中读取二进制格式中的数据类型,而不是类型名称

input_format_binary_read_json_as_string

类型:布尔值

默认值:0

在 RowBinary 输入格式中将 JSON 数据类型的值的读取方式为 JSON String 值。

input_format_bson_skip_fields_with_unsupported_types_in_schema_inference

类型:布尔值

默认值:0

在为格式 BSON 进行模式推断时,跳过具有不支持类型的字段。

input_format_capn_proto_skip_fields_with_unsupported_types_in_schema_inference

类型:布尔值

默认值:0

在为格式 CapnProto 进行模式推断时,跳过具有不支持类型的列

input_format_csv_allow_cr_end_of_line

类型:布尔值

默认值:0

如果设置为 true,\r 将被允许出现在行尾,而不是跟随\n

input_format_csv_allow_variable_number_of_columns

类型:布尔值

默认值:0

忽略 CSV 输入中的额外列(如果文件中的列数超过预期),并将 CSV 输入中缺少的字段视为默认值

input_format_csv_allow_whitespace_or_tab_as_delimiter

类型:布尔值

默认值:0

允许使用空格和制表符 (\t) 作为 CSV 字符串中的字段分隔符

input_format_csv_arrays_as_nested_csv

类型:布尔值

默认值:0

从 CSV 读取数组时,期望其元素以嵌套 CSV 形式序列化,然后放入字符串中。例如:\"[\"\"Hello\"\", \"\"world\"\", \"\"42\"\"\"\" TV\"\"]\". 数组周围的大括号可以省略。

input_format_csv_deserialize_separate_columns_into_tuple

类型:布尔值

默认值:1

如果设置为 true,则 CSV 格式中写入的单独列可以反序列化为 Tuple 列。

input_format_csv_detect_header

类型:布尔值

默认值:1

自动检测 CSV 格式中具有名称和类型的标题

input_format_csv_empty_as_default

类型:布尔值

默认值:1

将 CSV 输入中的空字段视为默认值。

input_format_csv_enum_as_number

类型:布尔值

默认值:0

将 CSV 格式中插入的枚举值视为枚举索引

input_format_csv_skip_first_lines

类型:UInt64

默认值:0

跳过 CSV 格式数据开头指定的行数

input_format_csv_skip_trailing_empty_lines

类型:布尔值

默认值:0

跳过 CSV 格式中的尾随空行

input_format_csv_trim_whitespaces

类型:布尔值

默认值:1

修剪 CSV 字符串开头和结尾的空格和制表符 (\t) 字符

input_format_csv_try_infer_numbers_from_strings

类型:布尔值

默认值:0

如果启用,ClickHouse 在推断模式时将尝试从字符串字段推断数字。如果 CSV 数据包含带引号的 UInt64 数字,这将非常有用。

默认情况下禁用。

input_format_csv_try_infer_strings_from_quoted_tuples

类型:布尔值

默认值:1

将输入数据中的带引号元组解释为 String 类型的值。

input_format_csv_use_best_effort_in_schema_inference

类型:布尔值

默认值:1

使用一些调整和启发式方法来推断 CSV 格式的模式

input_format_csv_use_default_on_bad_values

类型:布尔值

默认值:0

允许在 CSV 字段反序列化在错误值上失败时为列设置默认值

input_format_custom_allow_variable_number_of_columns

类型:布尔值

默认值:0

忽略 CustomSeparated 输入中的额外列(如果文件列数超过预期)并将 CustomSeparated 输入中的缺失字段视为默认值

input_format_custom_detect_header

类型:布尔值

默认值:1

在 CustomSeparated 格式中自动检测带有名称和类型的标题

input_format_custom_skip_trailing_empty_lines

类型:布尔值

默认值:0

跳过 CustomSeparated 格式中的尾随空行

input_format_defaults_for_omitted_fields

类型:布尔值

默认值:1

在执行 INSERT 查询时,将省略的输入列值替换为相应列的默认值。此选项适用于 JSONEachRow(以及其他 JSON 格式)、CSVTabSeparatedTSKVParquetArrowAvroORCNative 格式以及带有 WithNames/WithNamesAndTypes 后缀的格式。

注意

启用此选项后,扩展表元数据将从服务器发送到客户端。它会消耗服务器上的额外计算资源,并可能降低性能。

可能的值

  • 0 — 禁用。
  • 1 — 启用。

input_format_force_null_for_omitted_fields

类型:布尔值

默认值:0

强制使用 null 值初始化省略的字段

input_format_hive_text_allow_variable_number_of_columns

类型:布尔值

默认值:1

忽略 Hive Text 输入中的额外列(如果文件列数超过预期)并将 Hive Text 输入中的缺失字段视为默认值

input_format_hive_text_collection_items_delimiter

类型:字符

默认值:

Hive Text 文件中集合(数组或映射)项之间的分隔符

input_format_hive_text_fields_delimiter

类型:字符

默认值:

Hive Text 文件中字段之间的分隔符

input_format_hive_text_map_keys_delimiter

类型:字符

默认值:

Hive Text 文件中映射键/值对之间的分隔符

input_format_import_nested_json

类型:布尔值

默认值:0

启用或禁用带有嵌套对象的 JSON 数据的插入。

支持的格式

可能的值

  • 0 — 禁用。
  • 1 — 启用。

另请参阅

input_format_ipv4_default_on_conversion_error

类型:布尔值

默认值:0

IPv4 的反序列化将使用默认值,而不是在转换错误时抛出异常。

默认情况下禁用。

input_format_ipv6_default_on_conversion_error

类型:布尔值

默认值:0

IPV6 的反序列化将使用默认值,而不是在转换错误时抛出异常。

默认情况下禁用。

input_format_json_compact_allow_variable_number_of_columns

类型:布尔值

默认值:0

忽略 JSONCompact(EachRow) 输入中的额外列(如果文件列数超过预期)并将 JSONCompact(EachRow) 输入中的缺失字段视为默认值

input_format_json_defaults_for_missing_elements_in_named_tuple

类型:布尔值

默认值:1

在解析命名元组时,为 JSON 对象中的缺失元素插入默认值。此设置仅在启用 input_format_json_named_tuples_as_objects 设置时有效。

默认情况下启用。

input_format_json_empty_as_default

类型:布尔值

默认值:0

将 JSON 输入中的空字段视为默认值。

input_format_json_ignore_unknown_keys_in_named_tuple

类型:布尔值

默认值:1

忽略命名元组的 json 对象中的未知键。

默认情况下启用。

input_format_json_ignore_unnecessary_fields

类型:布尔值

默认值:1

忽略不必要的字段,不解析它们。启用此功能可能不会在格式错误或具有重复字段的 json 字符串上抛出异常

input_format_json_infer_incomplete_types_as_strings

类型:布尔值

默认值:1

允许在模式推断期间使用 String 类型表示仅包含 Null/{}/[] 的 JSON 键。在 JSON 格式中,任何值都可以作为 String 读取,并且我们可以通过使用 String 类型表示类型未知的键来避免在模式推断期间出现类似 无法通过数据的前 25000 行确定列 'column_name' 的类型,很可能此列仅包含 Null 或空数组/映射 的错误。

示例

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_max_depth

类型:UInt64

默认值:1000

JSON 中字段的最大深度。这不是严格的限制,不必精确应用。

input_format_json_named_tuples_as_objects

类型:布尔值

默认值:1

将命名元组列解析为 JSON 对象。

默认情况下启用。

input_format_json_read_arrays_as_strings

类型:布尔值

默认值:1

允许在 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

类型:布尔值

默认值:1

允许在 JSON 输入格式中将布尔值解析为数字。

默认情况下启用。

input_format_json_read_bools_as_strings

类型:布尔值

默认值:1

允许在 JSON 输入格式中将布尔值解析为字符串。

默认情况下启用。

input_format_json_read_numbers_as_strings

类型:布尔值

默认值:1

允许在 JSON 输入格式中将数字解析为字符串。

默认情况下启用。

input_format_json_read_objects_as_strings

类型:布尔值

默认值:1

允许在 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

类型:布尔值

默认值:1

如果 JSON 字符串在 JSON 输入格式中包含错误的转义序列,则抛出异常。如果禁用,错误的转义序列将保留在数据中。

默认情况下启用。

input_format_json_try_infer_named_tuples_from_objects

类型:布尔值

默认值:1

如果启用,ClickHouse 在推断模式时将尝试从 JSON 对象推断命名元组。生成的命名元组将包含来自样本数据中所有相应 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

类型:布尔值

默认值:0

如果启用,ClickHouse 在推断模式时将尝试从字符串字段推断数字。如果 JSON 数据包含带引号的 UInt64 数字,这将非常有用。

默认情况下禁用。

input_format_json_use_string_type_for_ambiguous_paths_in_named_tuples_inference_from_objects

类型:布尔值

默认值:0

在命名元组推断期间,在 JSON 对象中出现歧义路径时使用 String 类型,而不是抛出异常

input_format_json_validate_types_from_metadata

类型:布尔值

默认值:1

对于 JSON/JSONCompact/JSONColumnsWithMetadata 输入格式,如果此设置设置为 1,则输入数据中元数据中的类型将与来自表的相应列的类型进行比较。

默认情况下启用。

input_format_max_bytes_to_read_for_schema_inference

类型:UInt64

默认值:33554432

用于自动模式推断的最大数据量(以字节为单位)。

input_format_max_rows_to_read_for_schema_inference

类型:UInt64

默认值:25000

用于自动模式推断的最大数据行数。

input_format_msgpack_number_of_columns

类型:UInt64

默认值:0

插入的 MsgPack 数据中的列数。用于从数据中进行自动模式推断。

input_format_mysql_dump_map_column_names

类型:布尔值

默认值:1

按名称匹配 MySQL 导出中的表列和 ClickHouse 表中的列。

input_format_mysql_dump_table_name

类型:字符串

默认值

要从中读取数据的 MySQL 导出中的表名。

input_format_native_allow_types_conversion

类型:布尔值

默认值:1

允许 Native 输入格式中的数据类型转换。

input_format_native_decode_types_in_binary_format

类型:布尔值

默认值:0

在 Native 输入格式中以二进制格式读取数据类型,而不是类型名称。

input_format_null_as_default

类型:布尔值

默认值:1

启用或禁用使用 NULL 字段的 默认值 初始化,如果这些字段的数据类型不是 可空。如果列类型不可空且此设置被禁用,则插入 NULL 会导致异常。如果列类型可空,则 NULL 值将按原样插入,无论此设置如何。

此设置适用于大多数输入格式。

对于复杂默认表达式,input_format_defaults_for_omitted_fields 也必须启用。

可能的值

  • 0 - 将 NULL 插入不可空列会导致异常。
  • 1 - NULL 字段将使用默认列值初始化。

input_format_orc_allow_missing_columns

类型:布尔值

默认值:1

允许在读取 ORC 输入格式时缺少列。

input_format_orc_case_insensitive_column_matching

类型:布尔值

默认值:0

在将 ORC 列与 CH 列匹配时忽略大小写。

input_format_orc_filter_push_down

类型:布尔值

默认值:1

在读取 ORC 文件时,根据 WHERE/PREWHERE 表达式、ORC 元数据中的最小值/最大值统计信息或布隆过滤器跳过整个条带或行组。

input_format_orc_reader_time_zone_name

类型:字符串

默认值:GMT

ORC 行读取器的时区名称,默认 ORC 行读取器的时区为 GMT。

input_format_orc_row_batch_size

类型:Int64

默认值:100000

读取 ORC 条带时的批处理大小。

input_format_orc_skip_columns_with_unsupported_types_in_schema_inference

类型:布尔值

默认值:0

在对 ORC 格式进行模式推断时,跳过具有不支持类型列。

input_format_orc_use_fast_decoder

类型:布尔值

默认值:1

使用更快的 ORC 解码器实现。

input_format_parquet_allow_missing_columns

类型:布尔值

默认值:1

允许在读取 Parquet 输入格式时缺少列。

input_format_parquet_case_insensitive_column_matching

类型:布尔值

默认值:0

在将 Parquet 列与 CH 列匹配时忽略大小写。

input_format_parquet_filter_push_down

类型:布尔值

默认值:1

在读取 Parquet 文件时,根据 WHERE/PREWHERE 表达式和 Parquet 元数据中的最小值/最大值统计信息跳过整个行组。

input_format_parquet_local_file_min_bytes_for_seek

类型:UInt64

默认值:8192

在 Parquet 输入格式中,本地读取(文件)执行查找(而不是忽略读取)所需的最小字节数。

input_format_parquet_max_block_size

类型:UInt64

默认值:65409

Parquet 读取器的最大块大小。

input_format_parquet_prefer_block_bytes

类型:UInt64

默认值:16744704

Parquet 读取器输出的平均块字节数。

input_format_parquet_preserve_order

类型:布尔值

默认值:0

从 Parquet 文件读取时避免重新排序行。通常会使其速度大大降低。

input_format_parquet_skip_columns_with_unsupported_types_in_schema_inference

类型:布尔值

默认值:0

在对 Parquet 格式进行模式推断时,跳过具有不支持类型列。

input_format_parquet_use_native_reader

类型:布尔值

默认值:0

在读取 Parquet 文件时,使用本机读取器而不是箭头读取器。

input_format_protobuf_flatten_google_wrappers

类型:布尔值

默认值:0

为常规非嵌套列启用 Google 包装器,例如 google.protobuf.StringValue 'str' 用于 String 列 'str'。对于可空列,空包装器被识别为默认值,而缺失值被识别为空值。

input_format_protobuf_skip_fields_with_unsupported_types_in_schema_inference

类型:布尔值

默认值:0

在对 Protobuf 格式进行模式推断时,跳过具有不支持类型字段。

input_format_record_errors_file_path

类型:字符串

默认值

用于记录读取文本格式(CSV、TSV)时错误的文件路径。

input_format_skip_unknown_fields

类型:布尔值

默认值:1

启用或禁用跳过额外数据的插入。

写入数据时,如果输入数据包含目标表中不存在的列,ClickHouse 会抛出异常。如果启用跳过,ClickHouse 不会插入额外数据,也不会抛出异常。

支持的格式

可能的值

  • 0 — 禁用。
  • 1 — 启用。

input_format_try_infer_dates

类型:布尔值

默认值:1

如果启用,ClickHouse 将尝试在对文本格式进行模式推断时从字符串字段中推断类型 Date。如果输入数据中一列的所有字段都成功解析为日期,则结果类型将为 Date,如果至少有一个字段未解析为日期,则结果类型将为 String

默认情况下启用。

input_format_try_infer_datetimes

类型:布尔值

默认值:1

如果启用,ClickHouse 将尝试在对文本格式进行模式推断时从字符串字段中推断类型 DateTime64。如果输入数据中一列的所有字段都成功解析为日期时间,则结果类型将为 DateTime64,如果至少有一个字段未解析为日期时间,则结果类型将为 String

默认情况下启用。

input_format_try_infer_datetimes_only_datetime64

类型:布尔值

默认值:0

当 input_format_try_infer_datetimes 启用时,仅推断 DateTime64,而不是 DateTime 类型。

input_format_try_infer_exponent_floats

类型:布尔值

默认值:0

尝试在对文本格式进行模式推断时推断以指数形式表示的浮点数(JSON 除外,其中指数数字始终被推断)。

input_format_try_infer_integers

类型:布尔值

默认值:1

如果启用,ClickHouse 将尝试在对文本格式进行模式推断时推断整数而不是浮点数。如果输入数据中一列的所有数字都是整数,则结果类型将为 Int64,如果至少有一个数字是浮点数,则结果类型将为 Float64

默认情况下启用。

input_format_try_infer_variants

类型:布尔值

默认值:0

如果启用,当列/数组元素存在多种可能的类型时,ClickHouse 将尝试在对文本格式进行模式推断时推断类型 Variant

可能的值

  • 0 — 禁用。
  • 1 — 启用。

input_format_tsv_allow_variable_number_of_columns

类型:布尔值

默认值:0

忽略 TSV 输入中的额外列(如果文件中的列数超过预期)并将 TSV 输入中的缺失字段视为默认值。

input_format_tsv_crlf_end_of_line

类型:布尔值

默认值:0

如果设置为 true,文件函数将以\r\n 而不是\n 读取 TSV 格式。

input_format_tsv_detect_header

类型:布尔值

默认值:1

自动检测 TSV 格式中带有名称和类型的标题。

input_format_tsv_empty_as_default

类型:布尔值

默认值:0

将 TSV 输入中的空字段视为默认值。

input_format_tsv_enum_as_number

类型:布尔值

默认值:0

将 TSV 格式中插入的枚举值视为枚举索引。

input_format_tsv_skip_first_lines

类型:UInt64

默认值:0

跳过 TSV 格式数据开头指定的行数

input_format_tsv_skip_trailing_empty_lines

类型:布尔值

默认值:0

跳过 TSV 格式中的尾随空行

input_format_tsv_use_best_effort_in_schema_inference

类型:布尔值

默认值:1

使用一些调整和启发式方法来推断 TSV 格式的模式

input_format_values_accurate_types_of_literals

类型:布尔值

默认值:1

对于 Values 格式:解析和解释使用模板的表达式时,检查字面量的实际类型,以避免可能的溢出和精度问题。

input_format_values_deduce_templates_of_expressions

类型:布尔值

默认值:1

对于 Values 格式:如果流式解析器无法解析该字段,则运行 SQL 解析器,推断 SQL 表达式的模板,尝试使用该模板解析所有行,然后解释所有行的表达式。

input_format_values_interpret_expressions

类型:布尔值

默认值:1

对于 Values 格式:如果流式解析器无法解析该字段,则运行 SQL 解析器并尝试将其解释为 SQL 表达式。

input_format_with_names_use_header

类型:布尔值

默认值:1

启用或禁用在插入数据时检查列顺序。

为了提高插入性能,我们建议在您确定输入数据的列顺序与目标表中的列顺序相同的情况下禁用此检查。

支持的格式

可能的值

  • 0 — 禁用。
  • 1 — 启用。

input_format_with_types_use_header

类型:布尔值

默认值:1

控制格式解析器是否应该检查输入数据中的数据类型是否与目标表中的数据类型匹配。

支持的格式

可能的值

  • 0 — 禁用。
  • 1 — 启用。

insert_distributed_one_random_shard

类型:布尔值

默认值:0

启用或禁用在没有分布式键的情况下将数据随机插入到分布式表中的分片。

默认情况下,在将数据插入到具有多个分片且没有分布式键的Distributed表时,ClickHouse 服务器将拒绝任何插入请求。当insert_distributed_one_random_shard = 1时,允许插入,并且数据将随机转发到所有分片中。

可能的值

  • 0 - 如果有多个分片且未给出分布式键,则拒绝插入。
  • 1 - 当未给出分布式键时,插入将在所有可用分片中随机进行。

interval_output_format

类型:IntervalOutputFormat

默认值:numeric

允许选择时间间隔类型文本表示的不同输出格式。

可能的值

  • kusto - KQL 风格的输出格式。

    ClickHouse 以KQL 格式输出时间间隔。例如,toIntervalDay(2)将格式化为2.00:00:00。请注意,对于不同长度的时间间隔类型(例如,IntervalMonthIntervalYear),将考虑每个时间间隔的平均秒数。

  • numeric - 数字输出格式。

    ClickHouse 以其底层数字表示形式输出时间间隔。例如,toIntervalDay(2)将格式化为2

另请参阅

output_format_arrow_compression_method

类型:ArrowCompression

默认值:lz4_frame

Arrow 输出格式的压缩方法。支持的编解码器:lz4_frame、zstd、none(未压缩)

output_format_arrow_fixed_string_as_fixed_byte_array

类型:布尔值

默认值:1

使用 Arrow FIXED_SIZE_BINARY 类型而不是 FixedString 列的 Binary。

output_format_arrow_low_cardinality_as_dictionary

类型:布尔值

默认值:0

启用将 LowCardinality 类型输出为 Dictionary Arrow 类型

output_format_arrow_string_as_string

类型:布尔值

默认值:1

使用 Arrow String 类型而不是 String 列的 Binary

output_format_arrow_use_64_bit_indexes_for_dictionary

类型:布尔值

默认值:0

在 Arrow 格式中始终使用 64 位整数作为字典索引

output_format_arrow_use_signed_indexes_for_dictionary

类型:布尔值

默认值:1

在 Arrow 格式中使用带符号的整数作为字典索引

output_format_avro_codec

类型:字符串

默认值

用于输出的压缩编解码器。可能的值:'null'、'deflate'、'snappy'、'zstd'。

output_format_avro_rows_in_file

类型:UInt64

默认值:1

一个文件中的最大行数(如果存储允许)。

output_format_avro_string_column_pattern

类型:字符串

默认值

对于 Avro 格式:要选择为 AVRO 字符串的 String 列的正则表达式。

output_format_avro_sync_interval

类型:UInt64

默认值:16384

以字节为单位的同步间隔。

output_format_binary_encode_types_in_binary_format

类型:布尔值

默认值:0

在 RowBinaryWithNamesAndTypes 输出格式中以二进制格式写入数据类型,而不是类型名称

output_format_binary_write_json_as_string

类型:布尔值

默认值:0

在 RowBinary 输出格式中以 JSON 字符串 值写入JSON 数据类型的的值。

output_format_bson_string_as_string

类型:布尔值

默认值:0

使用 BSON String 类型而不是 String 列的 Binary。

output_format_csv_crlf_end_of_line

类型:布尔值

默认值:0

如果设置为 true,则 CSV 格式中的行尾将为\r\n 而不是\n 读取 TSV 格式。

output_format_csv_serialize_tuple_into_separate_columns

类型:布尔值

默认值:1

如果设置为 true,则 CSV 格式中的元组将被序列化为单独的列(即,它们在元组中的嵌套将丢失)

output_format_decimal_trailing_zeros

类型:布尔值

默认值:0

打印 Decimal 值时输出尾随零。例如,1.230000 而不是 1.23。

默认情况下禁用。

output_format_enable_streaming

类型:布尔值

默认值:0

在支持流式传输的输出格式中启用流式传输。

默认情况下禁用。

output_format_json_array_of_rows

类型:布尔值

默认值:0

启用在JSONEachRow格式中将所有行输出为 JSON 数组的能力。

可能的值

  • 1 - ClickHouse 将所有行输出为数组,JSONEachRow格式中的每一行。
  • 0 - ClickHouse 将JSONEachRow格式中的每一行分别输出。

启用该设置的查询示例

查询

SET output_format_json_array_of_rows = 1;
SELECT number FROM numbers(3) FORMAT JSONEachRow;

结果

[
{"number":"0"},
{"number":"1"},
{"number":"2"}
]

禁用该设置的查询示例

查询

SET output_format_json_array_of_rows = 0;
SELECT number FROM numbers(3) FORMAT JSONEachRow;

结果

{"number":"0"}
{"number":"1"}
{"number":"2"}

output_format_json_escape_forward_slashes

类型:布尔值

默认值:1

控制在 JSON 输出格式中对字符串输出中的正斜杠进行转义。这旨在与 JavaScript 兼容。不要与始终被转义的反斜杠混淆。

默认情况下启用。

output_format_json_named_tuples_as_objects

类型:布尔值

默认值:1

将命名元组列序列化为 JSON 对象。

默认情况下启用。

output_format_json_quote_64bit_floats

类型:布尔值

默认值:0

控制在 JSON* 格式中输出时对 64 位浮点数进行引号。

默认情况下禁用。

output_format_json_quote_64bit_integers

类型:布尔值

默认值:1

控制在JSON格式中输出时对 64 位或更大的整数(如UInt64Int128)进行引号。默认情况下,此类整数将用引号括起来。此行为与大多数 JavaScript 实现兼容。

可能的值

  • 0 - 整数在输出时没有引号。
  • 1 - 整数用引号括起来。

output_format_json_quote_decimals

类型:布尔值

默认值:0

控制在 JSON 输出格式中对小数进行引号。

默认情况下禁用。

output_format_json_quote_denormals

类型:布尔值

默认值:0

JSON输出格式中启用+nan-nan+inf-inf输出。

可能的值

  • 0 — 禁用。
  • 1 — 启用。

示例

考虑以下表account_orders

┌─id─┬─name───┬─duration─┬─period─┬─area─┐
│ 1 │ Andrew │ 20 │ 0 │ 400 │
│ 2 │ John │ 40 │ 0 │ 0 │
│ 3 │ Bob │ 15 │ 0 │ -100 │
└────┴────────┴──────────┴────────┴──────┘

output_format_json_quote_denormals = 0时,查询在输出中返回null

SELECT area/period FROM account_orders FORMAT JSON;
{
"meta":
[
{
"name": "divide(area, period)",
"type": "Float64"
}
],

"data":
[
{
"divide(area, period)": null
},
{
"divide(area, period)": null
},
{
"divide(area, period)": null
}
],

"rows": 3,

"statistics":
{
"elapsed": 0.003648093,
"rows_read": 3,
"bytes_read": 24
}
}

output_format_json_quote_denormals = 1时,查询返回

{
"meta":
[
{
"name": "divide(area, period)",
"type": "Float64"
}
],

"data":
[
{
"divide(area, period)": "inf"
},
{
"divide(area, period)": "-nan"
},
{
"divide(area, period)": "-inf"
}
],

"rows": 3,

"statistics":
{
"elapsed": 0.000070241,
"rows_read": 3,
"bytes_read": 24
}
}

output_format_json_skip_null_value_in_named_tuples

类型:布尔值

默认值:0

在将命名元组列序列化为 JSON 对象时,跳过值为 null 的键值对。仅当 output_format_json_named_tuples_as_objects 为 true 时有效。

output_format_json_validate_utf8

类型:布尔值

默认值:0

控制 JSON 输出格式中 UTF-8 序列的验证,不影响 JSON/JSONCompact/JSONColumnsWithMetadata 格式,它们始终验证 UTF-8。

默认情况下禁用。

output_format_markdown_escape_special_characters

类型:布尔值

默认值:0

在 Markdown 中转义特殊字符

output_format_msgpack_uuid_representation

类型:MsgPackUUIDRepresentation

默认值:ext

在 MsgPack 格式中输出 UUID 的方式。

output_format_native_encode_types_in_binary_format

类型:布尔值

默认值:0

在 Native 输出格式中以二进制格式写入数据类型而不是类型名称

output_format_native_write_json_as_string

类型:布尔值

默认值:0

JSON 列的数据写入包含 JSON 字符串的 String 列,而不是默认的本机 JSON 序列化。

output_format_orc_compression_method

类型:ORCCompression

默认值:zstd

ORC 输出格式的压缩方法。支持的编解码器:lz4、snappy、zlib、zstd、none(未压缩)

output_format_orc_dictionary_key_size_threshold

类型:Double

默认值:0

对于 ORC 输出格式中的字符串列,如果不同值的个数大于非空行的总个数的这个分数,则关闭字典编码。否则,字典编码将被启用

output_format_orc_row_index_stride

类型:UInt64

默认值:10000

ORC 输出格式中的目标行索引跨度

output_format_orc_string_as_string

类型:布尔值

默认值:1

对 String 列使用 ORC String 类型而不是 Binary

output_format_parquet_batch_size

类型:UInt64

默认值:1024

每隔这么多行检查页面大小。如果你的列的平均值大小超过几 KB,请考虑减少。

output_format_parquet_compliant_nested_types

类型:布尔值

默认值:1

在 parquet 文件模式中,对列表元素使用名称 'element' 而不是 'item'。这是 Arrow 库实现的一个历史遗留问题。通常情况下会提高兼容性,但可能与某些旧版本的 Arrow 不兼容。

output_format_parquet_compression_method

类型:ParquetCompression

默认值:zstd

Parquet 输出格式的压缩方法。支持的编解码器:snappy、lz4、brotli、zstd、gzip、none(未压缩)

output_format_parquet_data_page_size

类型:UInt64

默认值:1048576

目标页面大小(以字节为单位),在压缩之前。

output_format_parquet_fixed_string_as_fixed_byte_array

类型:布尔值

默认值:1

对 FixedString 列使用 Parquet FIXED_LENGTH_BYTE_ARRAY 类型而不是 Binary。

output_format_parquet_parallel_encoding

类型:布尔值

默认值:1

在多个线程中进行 Parquet 编码。需要 output_format_parquet_use_custom_encoder。

output_format_parquet_row_group_size

类型:UInt64

默认值:1000000

目标行组大小(以行数为单位)。

output_format_parquet_row_group_size_bytes

类型:UInt64

默认值:536870912

目标行组大小(以字节为单位),在压缩之前。

output_format_parquet_string_as_string

类型:布尔值

默认值:1

对 String 列使用 Parquet String 类型而不是 Binary。

output_format_parquet_use_custom_encoder

类型:布尔值

默认值:1

使用更快的 Parquet 编码器实现。

output_format_parquet_version

类型:ParquetVersion

默认值:2.latest

输出格式的 Parquet 格式版本。支持的版本:1.0、2.4、2.6 和 2.latest(默认)

output_format_parquet_write_page_index

类型:布尔值

默认值:1

添加将页面索引写入 parquet 文件的可能性。

output_format_pretty_color

类型:UInt64Auto

默认值:auto

在 Pretty 格式中使用 ANSI 转义序列。0 - 禁用,1 - 启用,'auto' - 如果是终端则启用。

类型:UInt64

默认值:1

如果表格行很多,则在页脚中显示列名。

可能的值

示例

查询

SELECT *, toTypeName(*) FROM (SELECT * FROM system.numbers LIMIT 1000);

结果

      ┌─number─┬─toTypeName(number)─┐
1. │ 0 │ UInt64 │
2. │ 1 │ UInt64 │
3. │ 2 │ UInt64 │
...
999. │ 998 │ UInt64 │
1000. │ 999 │ UInt64 │
└─number─┴─toTypeName(number)─┘

类型:UInt64

默认值:50

设置行数的最小值,如果设置 output_format_pretty_display_footer_column_names 已启用,则将显示带有列名的页脚。

output_format_pretty_grid_charset

类型:字符串

默认值:UTF-8

用于打印网格边框的字符集。可用的字符集:ASCII、UTF-8(默认字符集)。

output_format_pretty_highlight_digit_groups

类型:布尔值

默认值:1

如果启用,并且输出是终端,则使用下划线突出显示与千位数、百万位数等相对应的每个数字。

output_format_pretty_max_column_pad_width

类型:UInt64

默认值:250

在 Pretty 格式中填充列中所有值的最大宽度。

output_format_pretty_max_rows

类型:UInt64

默认值:10000

Pretty 格式的行数限制。

output_format_pretty_max_value_width

类型:UInt64

默认值:10000

在 Pretty 格式中显示的值的最大宽度。如果更大,则会截断。

output_format_pretty_max_value_width_apply_for_single_value

类型:UInt64

默认值:0

仅当它不是块中的单个值时,才截断值(参见 output_format_pretty_max_value_width 设置)。否则,将完全输出它,这对于 SHOW CREATE TABLE 查询很有用。

output_format_pretty_row_numbers

类型:布尔值

默认值:1

在 pretty 输出格式的每一行之前添加行号

output_format_pretty_single_large_number_tip_threshold

类型:UInt64

默认值:1000000

如果块由一个大于此值的数字(除了 0)组成,则在表格的右侧打印一个可读的数字提示

output_format_protobuf_nullables_with_google_wrappers

类型:布尔值

默认值:0

使用 Google 包装器序列化 Nullable 列时,将默认值序列化为空包装器。如果关闭,则不序列化默认值和空值

output_format_schema

类型:字符串

默认值

自动生成的模式将保存在 Cap’n ProtoProtobuf 格式中的文件的路径。

output_format_sql_insert_include_column_names

类型:布尔值

默认值:1

在 INSERT 查询中包含列名

output_format_sql_insert_max_batch_size

类型:UInt64

默认值:65409

一个 INSERT 语句中的最大行数。

output_format_sql_insert_quote_names

类型:布尔值

默认值:1

用 '`' 字符引用列名

output_format_sql_insert_table_name

类型:字符串

默认值:table

输出 INSERT 查询中表名

output_format_sql_insert_use_replace

类型:布尔值

默认值:0

使用 REPLACE 语句而不是 INSERT

output_format_tsv_crlf_end_of_line

类型:布尔值

默认值:0

如果设置为 true,则 TSV 格式中的行尾将是\r\n 而不是\n 读取 TSV 格式。

output_format_values_escape_quote_with_quote

类型:布尔值

默认值:0

如果为 true,则用 '' 转义 ',否则用\'

output_format_write_statistics

类型:布尔值

默认值:1

以合适的输出格式写入有关读取行数、字节数、经过时间等的统计信息。

默认启用

precise_float_parsing

类型:布尔值

默认值:0

更喜欢更精确(但速度较慢)的浮点数解析算法

regexp_dict_allow_hyperscan

类型:布尔值

默认值:1

允许使用 Hyperscan 库的 regexp_tree 字典。

regexp_dict_flag_case_insensitive

类型:布尔值

默认值:0

对 regexp_tree 字典使用不区分大小写的匹配。可以在单个表达式中使用 (?i) 和 (?-i) 覆盖它。

regexp_dict_flag_dotall

类型:布尔值

默认值:0

允许 '.' 对 regexp_tree 字典匹配换行符。

rows_before_aggregation

类型:布尔值

默认值:0

启用后,ClickHouse 将提供 rows_before_aggregation 统计信息的准确值,表示聚合前读取的行数

schema_inference_hints

类型:字符串

默认值

用于在没有模式的格式中作为提示的列名和类型列表,用于模式推断。

示例

查询

desc format(JSONEachRow, '{"x" : 1, "y" : "String", "z" : "0.0.0.0" }') settings schema_inference_hints='x UInt8, z IPv4';

结果

x   UInt8
y Nullable(String)
z IPv4
注意

如果 schema_inference_hints 格式不正确,或者存在拼写错误或数据类型错误等... 整个 schema_inference_hints 将被忽略。

schema_inference_make_columns_nullable

类型:UInt64Auto

默认值:1

控制在模式推断中使推断的类型为 Nullable。如果设置启用,所有推断的类型都将为 Nullable,如果禁用,推断的类型将永远不会为 Nullable,如果设置为 auto,推断的类型将仅在该列包含 NULL 时为 Nullable 在模式推断期间解析的样本中,或文件元数据包含有关列可空性的信息。

schema_inference_mode

类型:SchemaInferenceMode

默认值:default

模式推断模式。'default' - 假设所有文件都具有相同的模式,并且可以从任何文件推断模式,'union' - 文件可以具有不同的模式,并且结果模式应该是所有文件模式的并集

show_create_query_identifier_quoting_rule

类型:IdentifierQuotingRule

默认值:when_necessary

设置 SHOW CREATE 查询中标识符的引用规则

show_create_query_identifier_quoting_style

类型:IdentifierQuotingStyle

默认值:Backticks

设置 SHOW CREATE 查询中标识符的引用样式

type_json_skip_duplicated_paths

类型:布尔值

默认值:0

启用后,在将 JSON 对象解析为 JSON 类型时,将忽略重复的路径,并将仅插入第一个路径,而不是异常

validate_experimental_and_suspicious_types_inside_nested_types

类型:布尔值

默认值:1

验证在嵌套类型(如 Array/Map/Tuple)中使用实验性和可疑类型