Format Settings

For a string column in ORC output format, if the number of distinct values is greater than this fraction of the total number of non-null rows, turn off dictionary encoding. Otherwise dictionary encoding is enabled

## output\_format\_orc\_row\_index\_stride[​](#output_format_orc_row_index_stride "Direct link to output_format_orc_row_index_stride")

Target row index stride in ORC output format

## output\_format\_orc\_string\_as\_string[​](#output_format_orc_string_as_string "Direct link to output_format_orc_string_as_string")

Use ORC String type instead of Binary for String columns

## output\_format\_orc\_writer\_time\_zone\_name[​](#output_format_orc_writer_time_zone_name "Direct link to output_format_orc_writer_time_zone_name")

The time zone name for ORC writer, the default ORC writer's time zone is GMT.

## output\_format\_parallel\_formatting[​](#output_format_parallel_formatting "Direct link to output_format_parallel_formatting")

Enables or disables parallel formatting of data formats. Supported only for [TSV](/docs/interfaces/formats/TabSeparated), [TSKV](/docs/interfaces/formats/TSKV), [CSV](/docs/interfaces/formats/CSV) and [JSONEachRow](/docs/interfaces/formats/JSONEachRow) formats.

Possible values:

- 1 — Enabled.
- 0 — Disabled.

## output\_format\_parquet\_batch\_size[​](#output_format_parquet_batch_size "Direct link to output_format_parquet_batch_size")

Check page size every this many rows. Consider decreasing if you have columns with average values size above a few KBs.

## output\_format\_parquet\_bloom\_filter\_bits\_per\_value[​](#output_format_parquet_bloom_filter_bits_per_value "Direct link to output_format_parquet_bloom_filter_bits_per_value")

Approximate number of bits to use for each distinct value in parquet bloom filters. Estimated false positive rates:

- 6 bits - 10%
- 10.5 bits - 1%
- 16.9 bits - 0.1%
- 26.4 bits - 0.01%
- 41 bits - 0.001%

## output\_format\_parquet\_bloom\_filter\_flush\_threshold\_bytes[​](#output_format_parquet_bloom_filter_flush_threshold_bytes "Direct link to output_format_parquet_bloom_filter_flush_threshold_bytes")

Where in the parquet file to place the bloom filters. Bloom filters will be written in groups of approximately this size. In particular:

- if 0, each row group's bloom filters are written immediately after the row group,
- if greater than the total size of all bloom filters, bloom filters for all row groups will be accumulated in memory, then written together near the end of the file,
- otherwise, bloom filters will be accumulated in memory and written out whenever their total size goes above this value.

## output\_format\_parquet\_compliant\_nested\_types[​](#output_format_parquet_compliant_nested_types "Direct link to output_format_parquet_compliant_nested_types")

In parquet file schema, use name 'element' instead of 'item' for list elements. This is a historical artifact of Arrow library implementation. Generally increases compatibility, except perhaps with some old versions of Arrow.

## output\_format\_parquet\_compression\_method[​](#output_format_parquet_compression_method "Direct link to output_format_parquet_compression_method")

Compression method for Parquet output format. Supported codecs: snappy, lz4, brotli, zstd, gzip, none (uncompressed)

## output\_format\_parquet\_data\_page\_size[​](#output_format_parquet_data_page_size "Direct link to output_format_parquet_data_page_size")

Target page size in bytes, before compression.

## output\_format\_parquet\_date\_as\_uint16[​](#output_format_parquet_date_as_uint16 "Direct link to output_format_parquet_date_as_uint16")

Write Date values as plain 16-bit numbers (read back as UInt16), instead of converting to a 32-bit parquet DATE type (read back as Date32).

## output\_format\_parquet\_datetime\_as\_uint32[​](#output_format_parquet_datetime_as_uint32 "Direct link to output_format_parquet_datetime_as_uint32")

Write DateTime values as raw unix timestamp (read back as UInt32), instead of converting to milliseconds (read back as DateTime64(3)).

## output\_format\_parquet\_enum\_as\_byte\_array[​](#output_format_parquet_enum_as_byte_array "Direct link to output_format_parquet_enum_as_byte_array")

Write enum using parquet physical type: BYTE\_ARRAY and logical type: ENUM

## output\_format\_parquet\_fixed\_string\_as\_fixed\_byte\_array[​](#output_format_parquet_fixed_string_as_fixed_byte_array "Direct link to output_format_parquet_fixed_string_as_fixed_byte_array")

Use Parquet FIXED\_LEN\_BYTE\_ARRAY type instead of Binary for FixedString columns.

## output\_format\_parquet\_geometadata[​](#output_format_parquet_geometadata "Direct link to output_format_parquet_geometadata")

Allow to write information about geo columns in parquet metadata and encode columns in WKB format.

## output\_format\_parquet\_max\_dictionary\_size[​](#output_format_parquet_max_dictionary_size "Direct link to output_format_parquet_max_dictionary_size")

If dictionary size grows bigger than this many bytes, switch to encoding without dictionary. Set to 0 to disable dictionary encoding.

## output\_format\_parquet\_parallel\_encoding[​](#output_format_parquet_parallel_encoding "Direct link to output_format_parquet_parallel_encoding")

Do Parquet encoding in multiple threads. Requires output\_format\_parquet\_use\_custom\_encoder.

## output\_format\_parquet\_row\_group\_size[​](#output_format_parquet_row_group_size "Direct link to output_format_parquet_row_group_size")

Target row group size in rows.

## output\_format\_parquet\_row\_group\_size\_bytes[​](#output_format_parquet_row_group_size_bytes "Direct link to output_format_parquet_row_group_size_bytes")

Target row group size in bytes, before compression.

## output\_format\_parquet\_string\_as\_string[​](#output_format_parquet_string_as_string "Direct link to output_format_parquet_string_as_string")

Use Parquet String type instead of Binary for String columns.

## output\_format\_parquet\_use\_custom\_encoder[​](#output_format_parquet_use_custom_encoder "Direct link to output_format_parquet_use_custom_encoder")

Use a faster Parquet encoder implementation.

## output\_format\_parquet\_version[​](#output_format_parquet_version "Direct link to output_format_parquet_version")

Parquet format version for output format. Supported versions: 1.0, 2.4, 2.6 and 2.latest (default)

## output\_format\_parquet\_write\_bloom\_filter[​](#output_format_parquet_write_bloom_filter "Direct link to output_format_parquet_write_bloom_filter")

Write bloom filters in parquet files. Requires output\_format\_parquet\_use\_custom\_encoder = true.

## output\_format\_parquet\_write\_checksums[​](#output_format_parquet_write_checksums "Direct link to output_format_parquet_write_checksums")

Put crc32 checksums in parquet page headers.

## output\_format\_parquet\_write\_page\_index[​](#output_format_parquet_write_page_index "Direct link to output_format_parquet_write_page_index")

Write column index and offset index (i.e. statistics about each data page, which may be used for filter pushdown on read) into parquet files.

## output\_format\_pretty\_color[​](#output_format_pretty_color "Direct link to output_format_pretty_color")

Use ANSI escape sequences in Pretty formats. 0 - disabled, 1 - enabled, 'auto' - enabled if a terminal.

## output\_format\_pretty\_display\_footer\_column\_names[​](#output_format_pretty_display_footer_column_names "Direct link to output_format_pretty_display_footer_column_names")

Display column names in the footer if there are many table rows.

Possible values:

- 0 — No column names are displayed in the footer.
- 1 — Column names are displayed in the footer if row count is greater than or equal to the threshold value set by [output\_format\_pretty\_display\_footer\_column\_names\_min\_rows](#output_format_pretty_display_footer_column_names_min_rows) (50 by default).

**Example**

Query:

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

Result: