Format Settings

## input\_format\_parquet\_enable\_row\_group\_prefetch[​](#input_format_parquet_enable_row_group_prefetch "Direct link to input_format_parquet_enable_row_group_prefetch")

Enable row group prefetching during parquet parsing. Currently, only single-threaded parsing can prefetch.

## input\_format\_parquet\_filter\_push\_down[​](#input_format_parquet_filter_push_down "Direct link to input_format_parquet_filter_push_down")

When reading Parquet files, skip whole row groups based on the WHERE/PREWHERE expressions and min/max statistics in the Parquet metadata.

## input\_format\_parquet\_local\_file\_min\_bytes\_for\_seek[​](#input_format_parquet_local_file_min_bytes_for_seek "Direct link to input_format_parquet_local_file_min_bytes_for_seek")

Min bytes required for local read (file) to do seek, instead of read with ignore in Parquet input format

## input\_format\_parquet\_local\_time\_as\_utc[​](#input_format_parquet_local_time_as_utc "Direct link to input_format_parquet_local_time_as_utc")

Determines the data type used by schema inference for Parquet timestamps with isAdjustedToUTC=false. If true: DateTime64(..., 'UTC'), if false: DateTime64(...). Neither behavior is fully correct as ClickHouse doesn't have a data type for local wall-clock time. Counterintuitively, 'true' is probably the less incorrect option, because formatting the 'UTC' timestamp as String will produce representation of the correct local time.

## input\_format\_parquet\_max\_block\_size[​](#input_format_parquet_max_block_size "Direct link to input_format_parquet_max_block_size")

Max block size for parquet reader.

## input\_format\_parquet\_memory\_high\_watermark[​](#input_format_parquet_memory_high_watermark "Direct link to input_format_parquet_memory_high_watermark")

Approximate memory limit for Parquet reader v3. Limits how many row groups or columns can be read in parallel. When reading multiple files in one query, the limit is on total memory usage across those files.

## input\_format\_parquet\_memory\_low\_watermark[​](#input_format_parquet_memory_low_watermark "Direct link to input_format_parquet_memory_low_watermark")

Schedule prefetches more aggressively if memory usage is below than threshold. Potentially useful e.g. if there are many small bloom filters to read over network.

## input\_format\_parquet\_page\_filter\_push\_down[​](#input_format_parquet_page_filter_push_down "Direct link to input_format_parquet_page_filter_push_down")

Skip pages using min/max values from column index.

## input\_format\_parquet\_prefer\_block\_bytes[​](#input_format_parquet_prefer_block_bytes "Direct link to input_format_parquet_prefer_block_bytes")

Average block bytes output by parquet reader

## input\_format\_parquet\_preserve\_order[​](#input_format_parquet_preserve_order "Direct link to input_format_parquet_preserve_order")

Avoid reordering rows when reading from Parquet files. Not recommended as row ordering is generally not guaranteed, and other parts of query pipeline may break it. Use `ORDER BY _row_number` instead.

## input\_format\_parquet\_skip\_columns\_with\_unsupported\_types\_in\_schema\_inference[​](#input_format_parquet_skip_columns_with_unsupported_types_in_schema_inference "Direct link to input_format_parquet_skip_columns_with_unsupported_types_in_schema_inference")

Skip columns with unsupported types while schema inference for format Parquet

## input\_format\_parquet\_use\_native\_reader\_v3[​](#input_format_parquet_use_native_reader_v3 "Direct link to input_format_parquet_use_native_reader_v3")

Use Parquet reader v3.

## input\_format\_parquet\_use\_offset\_index[​](#input_format_parquet_use_offset_index "Direct link to input_format_parquet_use_offset_index")

Minor tweak to how pages are read from parquet file when no page filtering is used.

## input\_format\_parquet\_verify\_checksums[​](#input_format_parquet_verify_checksums "Direct link to input_format_parquet_verify_checksums")

Verify page checksums when reading parquet files.

## input\_format\_protobuf\_flatten\_google\_wrappers[​](#input_format_protobuf_flatten_google_wrappers "Direct link to input_format_protobuf_flatten_google_wrappers")

Enable Google wrappers for regular non-nested columns, e.g. google.protobuf.StringValue 'str' for String column 'str'. For Nullable columns empty wrappers are recognized as defaults, and missing as nulls

## input\_format\_protobuf\_oneof\_presence[​](#input_format_protobuf_oneof_presence "Direct link to input_format_protobuf_oneof_presence")

Indicate which field of protobuf oneof was found by means of setting enum value in a special colum

## input\_format\_protobuf\_skip\_fields\_with\_unsupported\_types\_in\_schema\_inference[​](#input_format_protobuf_skip_fields_with_unsupported_types_in_schema_inference "Direct link to input_format_protobuf_skip_fields_with_unsupported_types_in_schema_inference")

Skip fields with unsupported types while schema inference for format Protobuf

## input\_format\_record\_errors\_file\_path[​](#input_format_record_errors_file_path "Direct link to input_format_record_errors_file_path")

Path of the file used to record errors while reading text formats (CSV, TSV).

## input\_format\_skip\_unknown\_fields[​](#input_format_skip_unknown_fields "Direct link to input_format_skip_unknown_fields")

Enables or disables skipping insertion of extra data.

When writing data, ClickHouse throws an exception if input data contain columns that do not exist in the target table. If skipping is enabled, ClickHouse does not insert extra data and does not throw an exception.

Supported formats:

- [JSONEachRow](/docs/interfaces/formats/JSONEachRow) (and other JSON formats)
- [BSONEachRow](/docs/interfaces/formats/BSONEachRow) (and other JSON formats)
- [TSKV](/docs/interfaces/formats/TSKV)
- All formats with suffixes WithNames/WithNamesAndTypes
- [MySQLDump](/docs/interfaces/formats/MySQLDump)
- [Native](/docs/interfaces/formats/Native)

Possible values:

- 0 — Disabled.
- 1 — Enabled.

## input\_format\_try\_infer\_dates[​](#input_format_try_infer_dates "Direct link to input_format_try_infer_dates")

If enabled, ClickHouse will try to infer type `Date` from string fields in schema inference for text formats. If all fields from a column in input data were successfully parsed as dates, the result type will be `Date`, if at least one field was not parsed as date, the result type will be `String`.

Enabled by default.

## input\_format\_try\_infer\_datetimes[​](#input_format_try_infer_datetimes "Direct link to input_format_try_infer_datetimes")

If enabled, ClickHouse will try to infer type `DateTime64` from string fields in schema inference for text formats. If all fields from a column in input data were successfully parsed as datetimes, the result type will be `DateTime64`, if at least one field was not parsed as datetime, the result type will be `String`.

Enabled by default.

## input\_format\_try\_infer\_datetimes\_only\_datetime64[​](#input_format_try_infer_datetimes_only_datetime64 "Direct link to input_format_try_infer_datetimes_only_datetime64")

When input\_format\_try\_infer\_datetimes is enabled, infer only DateTime64 but not DateTime types

## input\_format\_try\_infer\_exponent\_floats[​](#input_format_try_infer_exponent_floats "Direct link to input_format_try_infer_exponent_floats")

Try to infer floats in exponential notation while schema inference in text formats (except JSON, where exponent numbers are always inferred)

## input\_format\_try\_infer\_integers[​](#input_format_try_infer_integers "Direct link to input_format_try_infer_integers")

If enabled, ClickHouse will try to infer integers instead of floats in schema inference for text formats. If all numbers in the column from input data are integers, the result type will be `Int64`, if at least one number is float, the result type will be `Float64`.

Enabled by default.

## input\_format\_try\_infer\_variants[​](#input_format_try_infer_variants "Direct link to input_format_try_infer_variants")