这些设置是根据源文件自动生成的。
output_format_always_write_decimal_point_in_float_and_decimal
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 26.6 | 0 | 新增设置:在文本格式中,始终为浮点数和 Decimal 数字输出小数点,即使该值为整数。 |
在文本格式中,始终为浮点数和 Decimal 数字输出小数点,即使该值为整数也是如此。例如,输出 1. 而不是 1。
默认禁用。
output_format_arrow_compression_method
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 23.3 | lz4_frame | 默认对 Arrow 输出格式使用 lz4 压缩 |
Arrow 输出格式的压缩方法。支持的编解码器:lz4_frame、zstd、none (未压缩)
output_format_arrow_date_as_uint16
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 26.2 | 0 | 默认将 Date 写为 Arrow DATE32,而不是普通的 UInt16。 |
将 Date 值写为普通的 16 位数字 (读取时为 UInt16) ,而不是转换为 32 位的 Arrow DATE32 类型 (读取时为 Date32) 。
output_format_arrow_fixed_string_as_fixed_byte_array
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 23.2 | 1 | 默认对 FixedString 列使用 Arrow FIXED_SIZE_BINARY 类型 |
对 FixedString 列,使用 Arrow FIXED_SIZE_BINARY 类型而不是 Binary 类型。
output_format_arrow_low_cardinality_as_dictionary
启用将输出中的 LowCardinality 类型表示为 Dictionary Arrow 类型
output_format_arrow_string_as_string
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 24.3 | 1 | ClickHouse 允许 String 类型包含任意二进制数据,而该类型通常使用 UTF-8。Parquet/ORC/Arrow 的 String 仅支持 UTF-8。因此,你可以为 ClickHouse 的 String 类型选择使用哪种 Arrow 数据类型——String 或 Binary。虽然 Binary 在语义上更准确、兼容性也更好,但默认使用 String 在大多数情况下更符合用户预期。 |
对 String 列使用 Arrow 的 String 类型而非 Binary
output_format_arrow_unsupported_types_as_binary
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 26.4 | 1 | 新增设置:将不受支持的 CH 类型转换为 Arrow binary,而不是抛出 UNKNOWN_TYPE 异常。 |
将无法转换的输出类型作为原始二进制数据输出。如果为 false,则此类类型会抛出 UNKNOWN_TYPE 异常。
output_format_arrow_use_64_bit_indexes_for_dictionary
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 24.1 | 0 | 允许在 Arrow 字典中使用 64 位索引类型 |
| 24.1 | 0 | 允许在 Arrow 字典中使用 64 位索引类型 |
在 Arrow 格式中,始终对字典索引使用 64 位整数
output_format_arrow_use_signed_indexes_for_dictionary
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 24.1 | 1 | 默认对 Arrow 字典使用有符号索引类型,这是推荐做法 |
在 Arrow 格式中对字典索引使用有符号整数
output_format_avro_codec
用于输出的压缩编解码器。可选值:'null'、'deflate'、'snappy'、'zstd'。
output_format_avro_confluent_subject
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 26.5 | 新增设置:用于指定写入 AvroConfluent output 时,在 Confluent Schema Registry 中注册 schema 所使用的 subject name。 |
对于 AvroConfluent output format:在 Confluent Schema Registry 中注册 schema 时使用的 subject name。写入 AvroConfluent output 时为必填项。
output_format_avro_rows_in_file
单个文件中的最大行数 (如果存储支持)
output_format_avro_string_column_pattern
对于 Avro 格式:用于选择作为 AVRO 字符串输出的 String 列的正则表达式。
output_format_avro_sync_interval
以字节为单位的同步间隔。
output_format_binary_encode_types_in_binary_format
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 24.7 | 0 | 新增设置,允许在 RowBinaryWithNamesAndTypes 输出格式中以二进制格式写入类型名称 |
在 RowBinaryWithNamesAndTypes 输出格式中,以二进制格式写入数据类型,而不是类型名称
output_format_binary_write_json_as_string
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 24.10 | 0 | 新增设置,用于在 RowBinary 输出格式中将 JSON type 的值写为 JSON 字符串 |
在 RowBinary 输出格式中,将 JSON data type 的值写为 JSON String 值。
output_format_bson_string_as_string
对 String 列使用 BSON String 类型,而不是 Binary。
output_format_compression_level
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 24.1 | 3 | 允许在查询输出中调整压缩级别 |
查询输出被压缩时使用的默认压缩级别。该设置会在 SELECT 查询使用 INTO OUTFILE 时,或将数据写入表函数 file、url、hdfs、s3 或 azureBlobStorage 时生效。
可能的取值:从 1 到 22
output_format_compression_zstd_window_log
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 24.1 | 0 | 允许在使用 zstd 压缩时修改查询输出中的 zstd window log |
可在输出压缩方法为 zstd 时使用。如果该值大于 0,此设置会显式指定压缩窗口大小 (2 的幂) ,并为 zstd 压缩启用长距离模式。这有助于获得更高的压缩率。
Possible values: 非负数。请注意,如果该值过小或过大,zstdlib 将抛出异常。典型值范围为 20 (window size = 1MB) 到 30 (window size = 1GB) 。
output_format_csv_crlf_end_of_line
如果设置为 true,CSV 格式的行尾将使用 \r\n 而不是 \n。
output_format_csv_header_serialize_tuple_into_separate_columns
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 26.7 | 1 | 新设置。当启用 output_format_csv_serialize_tuple_into_separate_columns 时,CSVWithNames/CSVWithNamesAndTypes 的表头现在会将 Tuple 列扁平化为其叶子字段,使表头列数与数据一致。设置为 false 可恢复为之前的单名称表头。 |
当启用 output_format_csv_serialize_tuple_into_separate_columns 时,CSVWithNames 和 CSVWithNamesAndTypes 的表头会将每个裸 Tuple 列扁平化为其叶子字段 (点号名称如 t.a、t.b,以及叶子类型名称) ,因此表头的列数与数据相同。Nullable(Tuple) 列永远不会被扁平化 (其数据始终是单个 CSV 字段) ,因此其表头会保留单个顶层列名和类型。对于 CustomSeparated*,只有在 format_custom_escaping_rule = 'CSV' 且 format_custom_field_delimiter 是与 format_csv_delimiter 相同的单个字符时,才会应用这种扁平化;否则 (例如默认的制表符分隔符,或 format_custom_field_delimiter = '|') ,表头将保持未扁平化状态,以便继续与数据匹配。将其设置为 0 可保留之前的行为,即表头保留单个顶层 Tuple 名称和类型。
注意:当 input_format_with_names_use_header = 1 时,扁平化后的表头不会按名称读回到 Tuple 中。要将此类数据重新读入 Tuple,可以在输出时将此设置设为 0,或者在读取时使用 input_format_with_names_use_header = 0 (并且对于 *WithNamesAndTypes 格式 CSVWithNamesAndTypes 和 CustomSeparatedWithNamesAndTypes,还需设置 input_format_with_types_use_header = 0,否则扁平化后的类型行会与单个顶层 Tuple 输入字段进行校验,并因此被拒绝) 。
output_format_csv_serialize_tuple_into_separate_columns
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 24.6 | 1 | 新增了一种在 CSV 格式中解释 Tuple 的方式。 |
| 24.3 | 1 | 新增了一种在 CSV 格式中解释 Tuple 的方式。 |
如果将其设为 true,则 CSV 格式中的裸 Tuple 列会被序列化为单独的列 (即会丢失其在 Tuple 中的嵌套结构) 。
这种扁平化仅适用于裸 Tuple。Nullable(Tuple) 始终会被序列化为单个 CSV 字段 (以确保 NULL 行和非 NULL 行占用相同数量的字段) ,不受此设置影响。
output_format_decimal_trailing_zeros
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 21.9 | 0 | 默认情况下,为了让输出更美观,Decimal 类型的文本表示不会输出末尾的零 |
输出 Decimal 值时保留末尾的零。例如,输出 1.230000 而不是 1.23。
默认禁用。
output_format_float_precision
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 26.6 | 0 | 用于控制浮点输出中小数位数的新设置 |
当该值非 0 时,将浮点输出 (Float32、Float64、BFloat16) 格式化为小数点后最多保留这么多位数字 (会去除末尾的零) 。
当值为 0 (默认值) 时,使用最短的 round-trip 表示形式。
如果某个值大到不适合使用定点表示法,或其绝对值小到按指定精度舍入后会丢失所有有效数字 (尾数会变为 ±0) ,则会改用科学计数法输出。在这些回退情况下,尾数的小数位数可能会超过指定的位数。
有效范围:0 到 100。
output_format_image_height
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 26.6 | 1024 | 新增设置:用于控制 `PNG` 等图像输出格式的输出图像高度。 |
对于 PNG 等图像输出格式,输出图像的高度 (单位为像素) 。
默认值:1024。
output_format_image_streaming_animation
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 26.8 | 0 | 新增设置,用于控制 `PNG` 等图像输出格式是否在检测到 `t` 的下一个值后立即写入动画的每一帧,而不是将所有帧缓冲在内存中。 |
对于 PNG 等图像输出格式,检测到 t 列的下一个值后,立即写入动画的每一帧,而不是将所有帧缓冲在内存中直至查询结束。
内存中只保留一帧,查询尚在运行时,帧便会输出。相应地,t 的值必须是非递减的,否则查询会引发异常。此外,写入动画请求头时尚无法确定帧数,因此声明的帧数为上限,而非精确值。浏览器可以播放此类文件,但信任声明帧数的解码器会在最后一个实际帧后报告错误。
默认值:false。
output_format_image_terminal_mode
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 26.6 | 新增设置,用于控制是否通过内联图像协议将 PNG 等图像输出格式直接渲染到终端。 |
对于 PNG 等图像输出格式,使用内联图像协议将图像直接输出到终端,而不是写出原始图像字节。
可能的值:
- `` (空) — 写出原始图像字节 (默认) 。
iterm— 使用 iTerm2 内联图像协议。kitty— 使用 Kitty 图形协议。sixel— 使用 Sixel 协议。auto— 如果输出目标是终端,则检测其支持情况并使用iterm、kitty或sixel(按此顺序) ;否则写出原始图像字节。
默认值:`` (空) 。
output_format_image_time_divisor_seconds
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 26.8 | 60 | 新增设置,用于控制 `t` 列时间单位的分母,使 `PNG` 等图像输出格式生成动画。 |
对于 PNG 等图像输出格式,t 列时间单位的分母,单位为秒。
请参阅 output_format_image_time_multiplier_seconds。
默认值:60。
output_format_image_time_multiplier_seconds
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 26.8 | 1 | 用于控制 `t` 列时间单位分子的新增设置,使 `PNG` 等图像输出格式生成动画。 |
对于 PNG 等图像输出格式,t 列时间单位的分子,以秒为单位。
存在 t 列时,该格式会生成动画,其中 t 表示帧的相对时间偏移量。
一个 t 单位对应 output_format_image_time_multiplier_seconds / output_format_image_time_divisor_seconds 秒。
使用默认值 (1 和 60) 时,一个 t 单位为 1/60 秒。
默认值:1。
output_format_image_width
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 26.6 | 1024 | 用于控制 PNG 等图像输出格式的输出图像宽度的新设置。 |
PNG 等图像输出格式的输出图像宽度,以像素为单位。
默认值:1024。
output_format_json_array_of_rows
启用后,可在 JSONEachRow 格式中将所有行作为一个 JSON 数组输出。
Possible values:
- 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
控制在 JSON 输出格式中,是否对字符串输出中的正斜杠进行转义。此设置旨在与 JavaScript 保持兼容。不要将其与始终会被转义的反斜杠混淆。
默认启用。
output_format_json_map_as_array_of_tuples
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 25.7 | 0 | 新增设置 |
将 Map 列序列化为由 Tuple 组成的 JSON 数组。
默认禁用。
output_format_json_named_tuples_as_objects
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 22.6 | 1 | 默认情况下允许在 JSON 格式中将命名元组序列化为 JSON 对象 |
将命名元组列序列化为 JSON 对象。
默认启用。
output_format_json_pretty_print
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 25.1 | 1 | 默认在 JSON 输出格式中以 Pretty 格式输出值 |
此设置决定了使用 JSON 输出格式时,data 数组中的 Tuple、Map 和 Array 等嵌套结构的显示方式。
例如,输出不再是:
"data":
[
{
"tuple": {"a":1,"b":2,"c":3},
"array": [1,2,3],
"map": {"a":1,"b":2,"c":3}
}
],输出格式如下:
"data":
[
{
"tuple": {
"a": 1,
"b": 2,
"c": 3
},
"array": [
1,
2,
3
],
"map": {
"a": 1,
"b": 2,
"c": 3
}
}
],默认启用。
output_format_json_quote_64bit_floats
控制在 JSON* 格式中输出 64 位浮点数时,是否为其加上引号。
默认情况下禁用。
output_format_json_quote_64bit_integers
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 25.8 | 0 | 默认禁用 JSON 中 64 位整数的引号包裹 |
控制在以 JSON 格式输出时,是否为 64 位或更大的整数 (如 UInt64 或 Int128) 添加引号。
默认情况下,这类整数会被引号括起来。此行为与大多数 JavaScript 实现兼容。
可能的值:
- 0 — 整数输出时不带引号。
- 1 — 整数会被引号括起来。
output_format_json_quote_decimals
控制在 JSON 输出格式中是否将 Decimal 值用引号括起来。
默认禁用。
output_format_json_quote_denormals
允许在 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
将命名元组列序列化为 JSON 对象时,跳过值为 NULL 的键值对。仅当 output_format_json_named_tuples_as_objects 为 true 时,此设置才生效。
output_format_json_validate_utf8
控制是否在 JSON 输出格式中验证 UTF-8 序列;不影响 JSON/JSONCompact/JSONColumnsWithMetadata 格式,这些格式始终会验证 UTF-8。
默认禁用。
output_format_markdown_escape_special_characters
启用后,会对 Markdown 中的特殊字符进行转义。
Common Mark 定义了以下可转义的特殊字符:
! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~可选值:
- 0 — 禁用。
- 1 — 启用。
output_format_msgpack_uuid_representation
UUID 在 MsgPack 格式中的输出方式。
output_format_native_encode_types_in_binary_format
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 24.7 | 0 | 新增设置,允许在 Native 输出格式中以二进制格式写入类型名称 |
在 Native 输出格式中,以二进制格式写入数据类型,而不是写入类型名称
output_format_native_use_flattened_dynamic_and_json_serialization
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 25.6 | 0 | 为 Native 格式添加扁平化的 Dynamic/JSON 序列化 |
以扁平化格式写入 JSON 和 Dynamic 列中的数据 (所有类型/路径均作为独立的子列) 。
output_format_native_write_json_as_string
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 24.10 | 0 | 新增设置,允许在 Native 格式 中将 JSON 列写入为单个 String 列 |
将 JSON 列的数据写入为包含 JSON 字符串的 String 列,而不是使用默认的原生 JSON 序列化。
output_format_orc_compression_block_size
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 25.8 | 262144 | 新增设置 |
ORC 输出格式的压缩块大小,以字节为单位。
output_format_orc_compression_method
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 24.3 | zstd | Parquet/ORC/Arrow 支持多种压缩方法,包括 lz4 和 zstd。ClickHouse 支持所有这些压缩方法。而一些功能较弱的工具(例如 'duckdb')不支持速度更快的 `lz4` 压缩方法,因此我们默认设置为 zstd。 |
| 23.3 | lz4_frame | 默认在 ORC 输出格式中使用 lz4 压缩 |
ORC 输出格式的压缩方法。支持的编解码器:lz4、snappy、zlib、zstd、none (未压缩)
output_format_orc_dictionary_key_size_threshold
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 24.9 | 0 | 对于 ORC 输出格式中的字符串列,如果不同值的数量超过非 NULL 行总数的该比例,则关闭字典编码;否则启用字典编码 |
对于 ORC 输出格式中的字符串列,如果不同值的数量超过非 NULL 行总数的该比例,则关闭字典编码;否则启用字典编码
output_format_orc_row_index_stride
ORC 输出格式中的目标行索引步长
output_format_orc_string_as_string
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 24.3 | 1 | ClickHouse 允许在 String 类型中存储任意二进制数据,而该类型通常通常采用 UTF-8 编码。Parquet/ORC/Arrow 的 String 仅支持 UTF-8。因此,你可以为 ClickHouse 的 String 类型选择使用哪种 Arrow 数据类型:String 或 Binary。虽然 Binary 在语义上更准确、兼容性也更好,但默认使用 String 在大多数情况下更符合用户预期。 |
对 String 列使用 ORC String 类型,而不是 Binary
output_format_orc_writer_time_zone_name
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 25.1 | GMT | ORC 写入器的时区名称,默认时区为 GMT。 |
ORC 写入器的时区名称,默认时区为 GMT。
output_format_parallel_formatting
启用或禁用数据格式的并行格式化功能。仅 TSV、TSKV、CSV 和 JSONEachRow 格式支持此功能。
可选值:
- 1 — 启用。
- 0 — 禁用。
output_format_parquet_batch_size
每处理这么多行就检查一次页大小。如果列中值的平均大小超过几个 KB,建议适当减小该值。
output_format_parquet_bloom_filter_bits_per_value
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 25.2 | 10.5 | 新设置。 |
Parquet 布隆过滤器中每个不同值大致使用的位数。估计的误报率如下:
- 6 位 - 10%
- 10.5 位 - 1%
- 16.9 位 - 0.1%
- 26.4 位 - 0.01%
- 41 位 - 0.001%
output_format_parquet_bloom_filter_flush_threshold_bytes
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 25.2 | 134217728 | 新增设置。 |
用于指定在 Parquet 文件中的何处放置布隆过滤器。布隆过滤器将按大致该大小分组写入。具体来说:
- 如果为 0,则每个行组的布隆过滤器会在该行组之后立即写入,
- 如果该值大于所有布隆过滤器的总大小,则所有行组的布隆过滤器会先在内存中累积,然后在接近文件末尾处一起写入,
- 否则,布隆过滤器会先在内存中累积,并在其总大小超过该值时写出。
output_format_parquet_compression_method
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 24.3 | zstd | Parquet/ORC/Arrow 支持多种压缩方法,包括 lz4 和 zstd。ClickHouse 支持所有这些压缩方法。某些功能较弱的工具(例如 'duckdb')不支持速度更快的 `lz4` 压缩方法,因此我们默认将其设置为 zstd。 |
| 23.3 | lz4 | 默认在 Parquet 输出格式中使用 lz4 压缩 |
Parquet 输出格式的压缩方法。支持的编解码器:snappy、lz4、brotli、zstd、gzip、none (未压缩)
output_format_parquet_data_page_size
压缩前的目标页大小 (以字节为单位) 。
output_format_parquet_date_as_uint16
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 25.8 | 0 | 为 24.12 中引入的一项轻微兼容性破坏性变更新增了兼容性设置。 |
| 24.12 | 0 | 将 Date 写为 Date32,而不是普通的 UInt16(这是两种与 Date 最接近的 Parquet 类型)。 |
将 Date 值写为普通的 16 位数字 (读取回来时为 UInt16) ,而不是转换为 32 位的 Parquet DATE 类型 (读取回来时为 Date32) 。
output_format_parquet_datetime_as_uint32
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 24.12 | 0 | 将 DateTime 写为 DateTime64(3) 而非 UInt32(这是两种最接近 DateTime 的 Parquet 类型)。 |
将 DateTime 值写为原始 Unix timestamp (读取时为 UInt32) ,而不是转换为毫秒 (读取时为 DateTime64(3)) 。
output_format_parquet_enum_as_byte_array
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 25.8 | 1 | 默认启用将枚举以字节数组形式写入 Parquet |
| 25.7 | 0 | 使用 Parquet 物理类型 BYTE_ARRAY 和逻辑类型 ENUM 写入枚举值 |
使用 Parquet 物理类型 BYTE_ARRAY 和逻辑类型 ENUM 写入枚举值
output_format_parquet_fixed_string_as_fixed_byte_array
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 23.2 | 1 | 默认情况下,对 FixedString 使用 Parquet FIXED_LENGTH_BYTE_ARRAY 类型 |
对于 FixedString 列,使用 Parquet FIXED_LEN_BYTE_ARRAY 类型而不是 Binary 类型。
output_format_parquet_geometadata
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 25.7 | 1 | 一项新设置,用于在 Parquet 元数据中写入 Geo 列信息,并将列编码为 WKB 格式。 |
用于在 Parquet 元数据中写入 Geo 列信息,并将列编码为 WKB 格式。
output_format_parquet_max_dictionary_size
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 25.8 | 1048576 | 新设置 |
如果字典大小超过该字节数,则切换为不使用字典的编码。设为 0 可禁用字典编码。
output_format_parquet_parallel_encoding
使用多个线程进行 Parquet 编码。
output_format_parquet_row_group_size
目标行组大小 (单位:行) 。
output_format_parquet_row_group_size_bytes
压缩前的目标行组大小,单位为字节。
output_format_parquet_string_as_string
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 24.3 | 1 | ClickHouse 允许 String 类型包含任意二进制数据,而该类型通常存储的是 UTF-8。Parquet/ORC/Arrow 的 String 仅支持 UTF-8。因此,你可以为 ClickHouse 的 String 类型选择使用哪种 Arrow 数据类型:String 或 Binary。虽然 Binary 在语义上更准确、兼容性也更好,但在大多数情况下,默认使用 String 更符合用户预期。 |
对 String 列使用 Parquet String 类型,而非 Binary。
output_format_parquet_wide_integer_as_decimal
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 26.8 | 0 | 新增设置:将 `Int128`、`UInt128`、`Int256` 和 `UInt256` 值写入为标准 Parquet `DECIMAL` 值。原有值保留旧版小端序 `FIXED_LEN_BYTE_ARRAY` 表示形式。 |
以大端字节序将 Int128、UInt128、Int256 和 UInt256 值写入为符合标准的 Parquet DECIMAL 值。默认情况下,为兼容旧版 ClickHouse,保留未标注的旧版小端序 FIXED_LEN_BYTE_ARRAY 表示形式。十进制表示形式支持可互操作的数值统计信息,但部分 Parquet reader 不支持精度超过 38 或 76 的值。
output_format_parquet_write_bloom_filter
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 25.2 | 1 | 新增对写入 Parquet 布隆过滤器的支持。 |
将布隆过滤器写入 Parquet 文件。
output_format_parquet_write_checksums
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 25.11 | 1 | 新设置。 |
在 Parquet 页头中写入 crc32 校验和。
output_format_parquet_write_page_index
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 24.7 | 1 | 新增了将页面索引写入 Parquet 文件的功能。 |
将列索引和偏移索引 (即每个数据页的统计信息,读取时可用于过滤器下推) 写入 Parquet 文件。
output_format_pretty_color
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 24.1 | auto | 此设置已调整,现也支持 auto 值;如果输出不是 tty,则禁用 ANSI 转义序列 |
在 Pretty 格式 中使用 ANSI 转义序列。0 - 禁用,1 - 启用,'auto' - 在输出为终端时启用。
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 24.6 | 1 | 新增了一个设置:当表中的行数较多时,在页脚中显示列名。阈值由 output_format_pretty_display_footer_column_names_min_rows 控制。 |
当表中的行数较多时,在页脚中显示列名。
可能的值:
- 0 — 不在页脚显示列名。
- 1 — 当行数大于或等于 output_format_pretty_display_footer_column_names_min_rows 设置的阈值时,在页脚显示列名 (默认为 50) 。
示例
查询:
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)─┘版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 24.6 | 50 | 新增一个设置,用于控制 output_format_pretty_display_footer_column_names_min_rows 的阈值。默认值为 50。 |
在启用 output_format_pretty_display_footer_column_names 时,此设置用于指定显示包含列名的页脚所需的最小行数。
output_format_pretty_fallback_to_vertical
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 25.1 | 1 | 新设置 |
如果启用,且表很宽但行数较少,Pretty 格式会按 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
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 25.1 | 10 | 新设置 |
仅当一个块中的记录数不超过指定值时,才会启用回退到 Vertical 格式的行为 (参见 output_format_pretty_fallback_to_vertical) 。
output_format_pretty_fallback_to_vertical_min_columns
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 25.1 | 5 | 新增设置 |
仅当列数大于指定值时,才会启用回退到 Vertical 格式 (参见 output_format_pretty_fallback_to_vertical) 的行为。
output_format_pretty_fallback_to_vertical_min_table_width
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 25.1 | 250 | 新增设置 |
仅当表中各列长度之和至少达到指定值,或至少有一个值包含换行符时,才会回退到 Vertical 格式 (参见 output_format_pretty_fallback_to_vertical) 。
output_format_pretty_glue_chunks
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 25.5 | auto | 一项让 Pretty 格式 更美观的新设置。 |
如果在 Pretty 格式 中渲染的数据分多个块到达,即使这些块之间存在延迟,但后一个块的列宽与前一个相同,则使用 ANSI 转义序列 返回上一行并覆盖前一个块的页脚,以便接着显示新块中的数据。这样可以让结果看起来更美观。
0 - 禁用,1 - 启用,'auto' - 在终端中启用。
output_format_pretty_grid_charset
用于打印网格边框的字符集。可用字符集:ASCII、UTF-8 (默认) 。
在交互模式下,clickhouse-client 会在终端不支持 UTF-8 时自动切换为 ASCII (依据 LC_ALL、LC_CTYPE 和 LANG 环境变量判断) ,除非已显式指定此设置。
output_format_pretty_highlight_digit_groups
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 24.3 | 1 | 如果启用且输出到终端,则会以下划线高亮表示千位、百万位等对应的每一位数字。 |
如果启用且输出到终端,则会以下划线高亮表示千位、百万位等对应的每一位数字。
output_format_pretty_highlight_trailing_spaces
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 25.1 | 1 | 新增设置。 |
如果启用且输出到终端,则会以灰色并加下划线的方式高亮尾随空格。
output_format_pretty_max_column_name_width_cut_to
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 25.1 | 24 | 新增设置 |
如果列名过长,则将其截断到此长度。
如果列名长度超过 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
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 25.1 | 4 | 新增设置 |
当列名过长时,最少需要截断的字符数。
如果列名长度超过 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
Pretty 格式中,对列内所有值进行填充时的最大宽度。
output_format_pretty_max_rows
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 25.2 | 1000 | 这样可用性更好——需要滚动的内容更少。 |
Pretty 格式的行数上限。
output_format_pretty_max_value_width
Pretty 格式 中显示值的最大宽度。若超过该宽度,则会被截断。 值为 0 表示永不截断。
output_format_pretty_max_value_width_apply_for_single_value
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 24.3 | 0 | Pretty 格式中的单个值不会被截断。 |
仅当某个值不是块内的单个值时,才会截断该值 (参见 output_format_pretty_max_value_width 设置) 。否则会完整输出,这对 SHOW CREATE TABLE 查询很有帮助。
output_format_pretty_multiline_fields
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 25.1 | 1 | 新增设置 |
如果启用,Pretty 格式会在表单元中以多行形式渲染多行字段,从而保持表格边框完整。 如果未启用,则会按原样渲染,这可能会导致表格变形 (不过保持关闭的一个好处是,复制粘贴多行值会更方便) 。
output_format_pretty_named_tuples_as_json
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 25.12 | 1 | 新增设置,用于控制 Pretty 格式中的命名元组是否以 JSON 对象形式输出 |
控制 Pretty 格式中的命名元组是否以格式化的 JSON 对象输出。
output_format_pretty_row_numbers
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 24.3 | 1 | 可用性更好。 |
为 Pretty 输出格式的每一行添加行号
output_format_pretty_single_large_number_tip_threshold
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 24.2 | 1000000 | 如果块仅包含一个数字,且该数字超过此值(0 除外),则会在表右侧显示一个易读的数字提示 |
如果块仅包含一个数字,且该数字超过此值 (0 除外) ,则会在表右侧显示一个易读的数字提示
output_format_pretty_squash_consecutive_ms
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 25.1 | 50 | 新增设置 |
最多等待下一个块指定的毫秒数,然后在写入前将其与前一个块合并。 这样既可避免过于频繁地输出过小的块,又仍可按流式方式显示数据。
output_format_pretty_squash_max_wait_ms
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 25.1 | 1000 | 新增设置 |
如果自上次输出以来经过的时间超过指定的毫秒数,则在 Pretty 格式 中输出待处理的块。
output_format_pretty_use_nbsp_for_padding
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 26.6 | 0 | 新设置。启用后,`Pretty` 输出中的填充将使用 `U+00A0` 渲染,因此在经过会压缩连续普通空格的工具复制粘贴后也能保留下来。 |
启用后,Pretty output formats 中的填充将使用 U+00A0 而不是 ASCII 空格来渲染。
在等宽字体下,输出的视觉效果保持不变,但填充内容在经过会压缩或裁剪连续普通空格的工具时仍能保留下来。
仅在 output_format_pretty_grid_charset 为 UTF-8 时生效。
output_format_protobuf_nullables_with_google_wrappers
使用 Google wrapper 对 Nullable 列进行序列化时,会将默认值序列化为空 wrapper。若关闭此设置,则默认值和 NULL 值都不会被序列化
output_format_schema
自动生成的 schema 在 Cap'n Proto 或 Protobuf 格式下将保存到的文件路径。
output_format_sql_insert_include_column_names
在 INSERT 查询中包含列名
output_format_sql_insert_max_batch_size
单条 INSERT 语句中的最大行数。
output_format_sql_insert_quote_names
使用 '`' 字符为列名加引号
output_format_sql_insert_table_name
输出 INSERT 查询中的表名称
output_format_sql_insert_use_replace
使用 REPLACE 语句而不是 INSERT
output_format_trim_fixed_string
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 26.3 | 0 | 用于在文本输出格式中去除 FixedString 值末尾零字节的新设置 |
在文本输出格式中去除 FixedString 值末尾的零字节。例如,toFixedString('John', 8) 将显示为 John,而不是 John\0\0\0\0。
output_format_tsv_crlf_end_of_line
如果将其设为 true,TSV 格式的行尾将使用 \r\n,而不是 \n。
output_format_values_escape_quote_with_quote
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 24.2 | 0 | 如果为 true,则将 ' 转义为 '';否则使用 \' 进行转义 |
如果为 true,则将 ' 转义为 '';否则使用 \' 进行转义
output_format_write_statistics
在适用的输出格式中写入有关已读取行数、字节数和耗时的统计信息。
默认启用