Format Settings

## input\_format\_max\_block\_wait\_ms[​](#input_format_max_block_wait_ms "Direct link to input_format_max_block_wait_ms")

Limits the maximum time in milliseconds to wait before emitting a block during parsing in row-based input formats. 0 means no limit.

Note

This option only works if `input_format_connection_handling` is enabled. Setting a value also disables parallel parsing and makes deduplication impossible.

Note

For streaming inserts, you must also set `min_insert_block_size_rows=0` and `min_insert_block_size_bytes=0`. Otherwise, parsed blocks may still be accumulated in memory by the block squashing stage until those thresholds are reached, preventing timely inserts.

**Example: streaming Wikipedia recent changes into ClickHouse**

```
clickhouse-client --query 'CREATE TABLE wikipedia_edits (data JSON)'

curl -sS --globoff -H 'Accept: application/json' --no-buffer \
  'https://stream.wikimedia.org/v2/stream/recentchange' \
  | clickhouse-client \
      --query 'INSERT INTO wikipedia_edits FORMAT JSONAsObject' \
      --input_format_max_block_wait_ms 1000 \
      --input_format_connection_handling 1 \
      --min_insert_block_size_rows 0 \
      --min_insert_block_size_bytes 0
```

## input\_format\_max\_bytes\_to\_read\_for\_schema\_inference[​](#input_format_max_bytes_to_read_for_schema_inference "Direct link to input_format_max_bytes_to_read_for_schema_inference")

The maximum amount of data in bytes to read for automatic schema inference.

## input\_format\_max\_rows\_to\_read\_for\_schema\_inference[​](#input_format_max_rows_to_read_for_schema_inference "Direct link to input_format_max_rows_to_read_for_schema_inference")

The maximum rows of data to read for automatic schema inference.

## input\_format\_msgpack\_number\_of\_columns[​](#input_format_msgpack_number_of_columns "Direct link to input_format_msgpack_number_of_columns")

The number of columns in inserted MsgPack data. Used for automatic schema inference from data.

## input\_format\_mysql\_dump\_map\_column\_names[​](#input_format_mysql_dump_map_column_names "Direct link to input_format_mysql_dump_map_column_names")

Match columns from table in MySQL dump and columns from ClickHouse table by names

## input\_format\_mysql\_dump\_table\_name[​](#input_format_mysql_dump_table_name "Direct link to input_format_mysql_dump_table_name")

Name of the table in MySQL dump from which to read data

## input\_format\_native\_allow\_types\_conversion[​](#input_format_native_allow_types_conversion "Direct link to input_format_native_allow_types_conversion")

Allow data types conversion in Native input format

## input\_format\_native\_decode\_types\_in\_binary\_format[​](#input_format_native_decode_types_in_binary_format "Direct link to input_format_native_decode_types_in_binary_format")

Read data types in binary format instead of type names in Native input format

## input\_format\_null\_as\_default[​](#input_format_null_as_default "Direct link to input_format_null_as_default")

Enables or disables the initialization of [NULL](/docs/sql-reference/syntax#literals) fields with [default values](/docs/sql-reference/statements/create/table#default_values), if data type of these fields is not [nullable](/docs/sql-reference/data-types/nullable).
If column type is not nullable and this setting is disabled, then inserting `NULL` causes an exception. If column type is nullable, then `NULL` values are inserted as is, regardless of this setting.

This setting is applicable for most input formats.

For complex default expressions `input_format_defaults_for_omitted_fields` must be enabled too.

Possible values:

- 0 — Inserting `NULL` into a not nullable column causes an exception.
- 1 — `NULL` fields are initialized with default column values.

## input\_format\_orc\_allow\_missing\_columns[​](#input_format_orc_allow_missing_columns "Direct link to input_format_orc_allow_missing_columns")

Allow missing columns while reading ORC input formats

## input\_format\_orc\_case\_insensitive\_column\_matching[​](#input_format_orc_case_insensitive_column_matching "Direct link to input_format_orc_case_insensitive_column_matching")

Ignore case when matching ORC columns with CH columns.

## input\_format\_orc\_dictionary\_as\_low\_cardinality[​](#input_format_orc_dictionary_as_low_cardinality "Direct link to input_format_orc_dictionary_as_low_cardinality")

Treat ORC dictionary encoded columns as LowCardinality columns while reading ORC files.

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

When reading ORC files, skip whole stripes or row groups based on the WHERE/PREWHERE expressions, min/max statistics or bloom filter in the ORC metadata.

## input\_format\_orc\_reader\_time\_zone\_name[​](#input_format_orc_reader_time_zone_name "Direct link to input_format_orc_reader_time_zone_name")

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

## input\_format\_orc\_row\_batch\_size[​](#input_format_orc_row_batch_size "Direct link to input_format_orc_row_batch_size")

Batch size when reading ORC stripes.

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

Skip columns with unsupported types while schema inference for format ORC

## input\_format\_orc\_use\_fast\_decoder[​](#input_format_orc_use_fast_decoder "Direct link to input_format_orc_use_fast_decoder")

Use a faster ORC decoder implementation.

## input\_format\_parallel\_parsing[​](#input_format_parallel_parsing "Direct link to input_format_parallel_parsing")

Enables or disables order-preserving parallel parsing of data formats. Supported only for [TabSeparated (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.

## input\_format\_parquet\_allow\_geoparquet\_parser[​](#input_format_parquet_allow_geoparquet_parser "Direct link to input_format_parquet_allow_geoparquet_parser")

Use geo column parser to convert Array(UInt8) into Point/Linestring/Polygon/MultiLineString/MultiPolygon types

## input\_format\_parquet\_allow\_missing\_columns[​](#input_format_parquet_allow_missing_columns "Direct link to input_format_parquet_allow_missing_columns")

Allow missing columns while reading Parquet input formats

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

When reading Parquet files, skip whole row groups based on the WHERE expressions and bloom filter in the Parquet metadata.

## input\_format\_parquet\_case\_insensitive\_column\_matching[​](#input_format_parquet_case_insensitive_column_matching "Direct link to input_format_parquet_case_insensitive_column_matching")

Ignore case when matching Parquet columns with CH columns.

## input\_format\_parquet\_enable\_json\_parsing[​](#input_format_parquet_enable_json_parsing "Direct link to input_format_parquet_enable_json_parsing")

When reading Parquet files, parse JSON columns as ClickHouse JSON Column.

## 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")