> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# настройки формата input_format_*

> Настройки формата ClickHouse в автоматически сгенерированной группе input_format_*.

export const SettingsInfoBlock = ({type, default_value, changeable_without_restart}) => {
  return <div className="not-prose" style={{
    display: "flex",
    flexWrap: "wrap",
    alignItems: "baseline",
    columnGap: "0.5rem",
    rowGap: "0.125rem",
    margin: "0.375rem 0",
    fontSize: "0.8125rem",
    lineHeight: "1.125rem"
  }}>
      <div style={{
    fontWeight: 600,
    opacity: 0.72
  }}>Тип</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{type}</div>
      <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>По умолчанию</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{default_value}</div>
      {changeable_without_restart && <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>
          Изменяется без перезапуска
        </div>}
      {changeable_without_restart && <div style={{
    overflowWrap: "anywhere"
  }}>
          {changeable_without_restart}
        </div>}
    </div>;
};

Эти настройки автоматически сгенерированы на основе [исходного файла](https://github.com/ClickHouse/ClickHouse/blob/master/src/Core/FormatFactorySettings.h).

<div id="input_format_allow_errors_num">
  ## input\_format\_allow\_errors\_num
</div>

<SettingsInfoBlock type="UInt64" default_value="0" />

Задает максимально допустимое количество ошибок при чтении из текстовых форматов (CSV, TSV и т. д.).

Значение по умолчанию — 0.

Всегда используйте этот параметр вместе с `input_format_allow_errors_ratio`.

Если при чтении строк возникает ошибка, но счетчик ошибок все еще меньше `input_format_allow_errors_num`, ClickHouse игнорирует эту строку и переходит к следующей.

Если превышены значения и `input_format_allow_errors_num`, и `input_format_allow_errors_ratio`, ClickHouse генерирует исключение.

<div id="input_format_allow_errors_ratio">
  ## input\_format\_allow\_errors\_ratio
</div>

<SettingsInfoBlock type="Float" default_value="0" />

Задаёт максимально допустимый процент ошибок при чтении из текстовых форматов (CSV, TSV и т. д.).
Процент ошибок задаётся числом с плавающей точкой в диапазоне от 0 до 1.

Значение по умолчанию — 0.

Всегда используйте этот параметр вместе с `input_format_allow_errors_num`.

Если при чтении строк возникает ошибка, но счётчик ошибок всё ещё меньше `input_format_allow_errors_ratio`, ClickHouse игнорирует строку и переходит к следующей.

Если превышены оба порога — `input_format_allow_errors_num` и `input_format_allow_errors_ratio`, ClickHouse генерирует исключение.

<div id="input_format_allow_seeks">
  ## input\_format\_allow\_seeks
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

Разрешает seek (или чтение диапазонов) при чтении входных форматов ORC, Parquet и Arrow.
Если параметр включен и источник это поддерживает (например, локальный файл, S3, HTTP с поддержкой диапазонов и известным размером),
ClickHouse может читать только нужные диапазоны байтов и расходовать меньше памяти.
Если параметр отключен или источник не поддерживает seek (например, размер файла неизвестен или поток не поддерживает seek),
некоторые модули чтения могут переключаться на загрузку всего файла в память.
Включено по умолчанию.

<div id="input_format_arrow_allow_missing_columns">
  ## input\_format\_arrow\_allow\_missing\_columns
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.12"},{"label": "1"},{"label": "По умолчанию разрешить отсутствие столбцов в файлах Arrow"}]}]} />

Разрешить отсутствие столбцов при чтении входных форматов Arrow

<div id="input_format_arrow_case_insensitive_column_matching">
  ## input\_format\_arrow\_case\_insensitive\_column\_matching
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

Игнорировать регистр при сопоставлении столбцов Arrow со столбцами ClickHouse.

<div id="input_format_arrow_skip_columns_with_unsupported_types_in_schema_inference">
  ## input\_format\_arrow\_skip\_columns\_with\_unsupported\_types\_in\_schema\_inference
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

Пропускать столбцы с неподдерживаемыми типами при определении схемы для формата Arrow

<div id="input_format_arrow_use_native_reader">
  ## input\_format\_arrow\_use\_native\_reader
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.7"},{"label": "1"},{"label": "Новая настройка: использовать встроенный модуль чтения ClickHouse для форматов Arrow и ArrowStream вместо библиотеки Apache Arrow."}]}]} />

Используйте встроенный модуль чтения ClickHouse для форматов Arrow и ArrowStream вместо варианта на основе библиотеки Apache Arrow.

<div id="input_format_avro_allow_missing_fields">
  ## input\_format\_avro\_allow\_missing\_fields
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

Для формата Avro/AvroConfluent: если поле отсутствует в схеме, использовать значение по умолчанию вместо ошибки

<div id="input_format_avro_null_as_default">
  ## input\_format\_avro\_null\_as\_default
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

Для форматов Avro/AvroConfluent: использовать значение по умолчанию в случае NULL и для столбцов без типа Nullable

<div id="input_format_binary_decode_types_in_binary_format">
  ## input\_format\_binary\_decode\_types\_in\_binary\_format
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.7"},{"label": "0"},{"label": "Добавлена новая настройка, позволяющая считывать имена типов в бинарном формате во входном формате RowBinaryWithNamesAndTypes"}]}]} />

Считывать типы данных в бинарном формате вместо имён типов во входном формате RowBinaryWithNamesAndTypes

<div id="input_format_binary_max_type_complexity">
  ## input\_format\_binary\_max\_type\_complexity
</div>

<SettingsInfoBlock type="UInt64" default_value="1000" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.1"},{"label": "1000"},{"label": "Добавлена новая настройка для управления максимальным количеством узлов типа при декодировании бинарных типов. Защищает от вредоносных входных данных."}]}]} />

Максимальное количество узлов типа при декодировании бинарных типов (не глубина, а общее число). `Map(String, UInt32)` = 3 узла. Защищает от вредоносных входных данных. 0 = без ограничений.

<div id="input_format_binary_read_json_as_string">
  ## input\_format\_binary\_read\_json\_as\_string
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.10"},{"label": "0"},{"label": "Добавлена новая настройка для чтения значений типа JSON как JSON-строки во входном формате RowBinary"}]}]} />

Считывать значения типа данных [JSON](/docs/ru/reference/data-types/newjson) как [String](/docs/ru/reference/data-types/string)-значения, содержащие JSON, во входном формате RowBinary.

<div id="input_format_bson_skip_fields_with_unsupported_types_in_schema_inference">
  ## input\_format\_bson\_skip\_fields\_with\_unsupported\_types\_in\_schema\_inference
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

Пропускать поля с неподдерживаемыми типами при определении схемы для формата BSON.

<div id="input_format_capn_proto_skip_fields_with_unsupported_types_in_schema_inference">
  ## input\_format\_capn\_proto\_skip\_fields\_with\_unsupported\_types\_in\_schema\_inference
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

Пропускать столбцы с неподдерживаемыми типами при определении схемы для формата CapnProto

<div id="input_format_column_name_matching_mode">
  ## input\_format\_column\_name\_matching\_mode
</div>

<SettingsInfoBlock type="InputFormatColumnMatchingCaseSensitivity" default_value="auto" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.5"},{"label": "auto"},{"label": "Сначала сопоставлять имена входных столбцов с учётом регистра, а при неудаче переходить к регистронезависимому сопоставлению, вместо того чтобы требовать точного совпадения регистра."}]}, {"id": "row-2","items": [{"label": "26.4"},{"label": "match_case"},{"label": "Новая настройка."}]}]} />

Определяет режим сопоставления имён столбцов при ингестии данных через различные форматы (включая, но не ограничиваясь, JSONEachRow, CSVWithNames, JSONColumns, BSONEachRow, RowBinaryWithNames).
Поддерживаемые режимы:

* match\_case: сопоставлять с учётом регистра
  * ignore\_case: сопоставлять без учёта регистра
  * auto: сначала пытается сопоставлять с учётом регистра; если не удаётся, пытается сопоставлять без учёта регистра.

<div id="input_format_connection_handling">
  ## input\_format\_connection\_handling
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.2"},{"label": "0"},{"label": "Новая настройка, позволяющая разбирать и обрабатывать оставшиеся в буфере данные, если соединение неожиданно закрывается"}]}]} />

Если этот параметр включен, то при неожиданном закрытии соединения оставшиеся в буфере данные будут разобраны и обработаны, а не приведут к ошибке

<Note>
  Включение этого параметра отключает параллельный разбор и делает дедупликацию невозможной
</Note>

<div id="input_format_csv_allow_cr_end_of_line">
  ## input\_format\_csv\_allow\_cr\_end\_of\_line
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

Если задано значение true, \r будет разрешён в конце строки, за которым не следует

<div id="input_format_csv_allow_variable_number_of_columns">
  ## input\_format\_csv\_allow\_variable\_number\_of\_columns
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

Игнорировать лишние столбцы во входных CSV-данных (если в файле столбцов больше, чем ожидается) и обрабатывать отсутствующие поля во входных CSV-данных как значения по умолчанию

<div id="input_format_csv_allow_whitespace_or_tab_as_delimiter">
  ## input\_format\_csv\_allow\_whitespace\_or\_tab\_as\_delimiter
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

Разрешает использовать пробелы и символы табуляции (\t) в качестве разделителей полей в строках CSV

<div id="input_format_csv_arrays_as_nested_csv">
  ## input\_format\_csv\_arrays\_as\_nested\_csv
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

При чтении Array из CSV предполагается, что его элементы были сериализованы во вложенный CSV, а затем помещены в строку. Пример: "\[""Hello"", ""world"", ""42"""" TV""]". Скобки вокруг массива можно опустить.

<div id="input_format_csv_deserialize_separate_columns_into_tuple">
  ## input\_format\_csv\_deserialize\_separate\_columns\_into\_tuple
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.6"},{"label": "1"},{"label": "Добавлен новый способ интерпретации Tuple в формате CSV."}]}, {"id": "row-2","items": [{"label": "24.3"},{"label": "1"},{"label": "Добавлен новый способ интерпретации Tuple в формате CSV."}]}]} />

Если задано значение true, отдельные столбцы, записанные в формате CSV, можно десериализовать в столбец Tuple.

<div id="input_format_csv_detect_header">
  ## input\_format\_csv\_detect\_header
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.1"},{"label": "1"},{"label": "Автоматически определять заголовок в формате CSV по умолчанию"}]}]} />

Автоматически определять заголовок с именами и типами в формате CSV

<div id="input_format_csv_empty_as_default">
  ## input\_format\_csv\_empty\_as\_default
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

Считать пустые поля во входных данных CSV значениями по умолчанию.

<div id="input_format_csv_enum_as_number">
  ## input\_format\_csv\_enum\_as\_number
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

Считать вставляемые значения `enum` в форматах CSV индексами enum

<div id="input_format_csv_missing_nullable_as_empty_string">
  ## input\_format\_csv\_missing\_nullable\_as\_empty\_string
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.7"},{"label": "0"},{"label": "Новая настройка для чтения отсутствующего значения `Nullable(String)` из CSV как пустой строки вместо NULL."}]}]} />

Определяет, как читать `Nullable(String)` при отсутствии значения в CSV. Отсутствующее значение — это пустое место между запятыми, перед ними или после них, не заключенное в кавычки. Если эта настройка включена, то независимо от значения `input_format_csv_empty_as_default` отсутствующее значение `Nullable(String)` будет интерпретироваться как пустой `String`, а не как NULL.

<div id="input_format_csv_skip_first_lines">
  ## input\_format\_csv\_skip\_first\_lines
</div>

<SettingsInfoBlock type="UInt64" default_value="0" />

Пропускать указанное количество строк в начале данных в формате CSV

<div id="input_format_csv_skip_trailing_empty_lines">
  ## input\_format\_csv\_skip\_trailing\_empty\_lines
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

Пропускать пустые строки в конце в формате CSV

<div id="input_format_csv_trim_whitespaces">
  ## input\_format\_csv\_trim\_whitespaces
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

Удаляет пробелы и символы табуляции (\t) в начале и конце строк CSV

<div id="input_format_csv_try_infer_numbers_from_strings">
  ## input\_format\_csv\_try\_infer\_numbers\_from\_strings
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

Если включено, при определении схемы ClickHouse будет пытаться распознавать числа в строковых полях.
Это может быть полезно, если данные CSV содержат числа UInt64 в кавычках.

По умолчанию отключено.

<div id="input_format_csv_try_infer_strings_from_quoted_tuples">
  ## input\_format\_csv\_try\_infer\_strings\_from\_quoted\_tuples
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.6"},{"label": "1"},{"label": "Добавлен новый способ интерпретации Tuple в формате CSV."}]}, {"id": "row-2","items": [{"label": "24.3"},{"label": "1"},{"label": "Добавлен новый способ интерпретации Tuple в формате CSV."}]}]} />

Интерпретировать заключённые в кавычки Tuple во входных данных как значения типа `String`.

<div id="input_format_csv_use_best_effort_in_schema_inference">
  ## input\_format\_csv\_use\_best\_effort\_in\_schema\_inference
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

Использовать дополнительные настройки и эвристики для определения схемы в формате CSV

<div id="input_format_csv_use_default_on_bad_values">
  ## input\_format\_csv\_use\_default\_on\_bad\_values
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

Позволяет устанавливать для столбца значение по умолчанию, если десериализация поля CSV завершается ошибкой из-за некорректного значения

<div id="input_format_custom_allow_variable_number_of_columns">
  ## input\_format\_custom\_allow\_variable\_number\_of\_columns
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

Игнорировать лишние столбцы во входных данных CustomSeparated (если в файле столбцов больше, чем ожидается) и рассматривать отсутствующие поля во входных данных CustomSeparated как значения по умолчанию

<div id="input_format_custom_detect_header">
  ## input\_format\_custom\_detect\_header
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.1"},{"label": "1"},{"label": "По умолчанию определять заголовок в формате CustomSeparated"}]}]} />

Автоматически определять заголовок с именами и типами в формате CustomSeparated

<div id="input_format_custom_skip_trailing_empty_lines">
  ## input\_format\_custom\_skip\_trailing\_empty\_lines
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

Пропускать пустые строки в конце в формате CustomSeparated

<div id="input_format_defaults_for_omitted_fields">
  ## input\_format\_defaults\_for\_omitted\_fields
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "19.12"},{"label": "1"},{"label": "Включить вычисление сложных выражений по умолчанию для пропущенных полей в некоторых входных форматах, поскольку это ожидаемое поведение"}]}]} />

При выполнении запросов `INSERT` пропущенные значения входных столбцов заменяются значениями по умолчанию соответствующих столбцов. Эта опция применяется к форматам [JSONEachRow](/docs/ru/reference/formats/JSON/JSONEachRow) (и другим форматам JSON), [CSV](/docs/ru/reference/formats/CSV/CSV), [TabSeparated](/docs/ru/reference/formats/TabSeparated/TabSeparated), [TSKV](/docs/ru/reference/formats/TabSeparated/TSKV), [Parquet](/docs/ru/reference/formats/Parquet/Parquet), [Arrow](/docs/ru/reference/formats/Arrow/Arrow), [Avro](/docs/ru/reference/formats/Avro/Avro), [ORC](/docs/ru/reference/formats/ORC), [Native](/docs/ru/reference/formats/Native), а также к форматам с суффиксами `WithNames`/`WithNamesAndTypes`.

<Note>
  Когда эта опция включена, расширенные метаданные таблицы передаются с сервера клиенту. Это требует дополнительных вычислительных ресурсов на сервере и может снизить производительность.
</Note>

Возможные значения:

* 0 — Отключено.
* 1 — Включено.

<div id="input_format_force_null_for_omitted_fields">
  ## input\_format\_force\_null\_for\_omitted\_fields
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.5"},{"label": "0"},{"label": "При необходимости отключает значения по умолчанию для пропущенных полей"}]}]} />

Принудительно инициализировать пропущенные поля значениями NULL

<div id="input_format_geojson_unsupported_geometry_handling">
  ## input\_format\_geojson\_unsupported\_geometry\_handling
</div>

<SettingsInfoBlock type="GeoJSONUnsupportedGeometryHandling" default_value="throw" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.6"},{"label": "throw"},{"label": "Новая настройка, которая управляет обработкой геометрических типов GeoJSON, не представимых типом Geometry (GeometryCollection, MultiPoint)"}]}]} />

Определяет, что происходит, если при чтении входных данных `GeoJSON` нужно сохранить в столбце `geometry` корректный геометрический тип `GeoJSON`, который не может быть представлен типом `Geometry` в ClickHouse (например, `GeometryCollection` или `MultiPoint`).

Возможные значения:

* `'throw'` (по умолчанию) — сгенерировать исключение.
* `'null'` — вставить значение `NULL` в столбец `geometry` и продолжить разбор.

Это применимо только тогда, когда столбец `geometry` материализован. Если он не запрошен как выходной столбец, такая геометрия проверяется на корректность, но эта обработка не срабатывает.

<div id="input_format_hive_text_allow_variable_number_of_columns">
  ## input\_format\_hive\_text\_allow\_variable\_number\_of\_columns
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.4"},{"label": "1"},{"label": "Игнорировать лишние столбцы во входных данных в формате Hive Text (если в файле больше столбцов, чем ожидается) и обрабатывать отсутствующие поля как значения по умолчанию."}]}]} />

Игнорировать лишние столбцы во входных данных в формате Hive Text (если в файле больше столбцов, чем ожидается) и обрабатывать отсутствующие поля как значения по умолчанию

<div id="input_format_hive_text_collection_items_delimiter">
  ## input\_format\_hive\_text\_collection\_items\_delimiter
</div>

<SettingsInfoBlock type="Char" default_value="" />

Разделитель между элементами коллекции (Array или Map) в Hive Text File

<div id="input_format_hive_text_fields_delimiter">
  ## input\_format\_hive\_text\_fields\_delimiter
</div>

<SettingsInfoBlock type="Char" default_value="" />

Разделитель полей в Hive Text File

<div id="input_format_hive_text_map_keys_delimiter">
  ## input\_format\_hive\_text\_map\_keys\_delimiter
</div>

<SettingsInfoBlock type="Char" default_value="" />

Разделитель между ключом и значением в паре map в Hive Text File

<div id="input_format_import_nested_json">
  ## input\_format\_import\_nested\_json
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

Включает или отключает вставку JSON-данных с вложенными объектами.

Поддерживаемые форматы:

* [JSONEachRow](/docs/ru/reference/formats/JSON/JSONEachRow)

Возможные значения:

* 0 — Отключено.
* 1 — Включено.

См. также:

* [Использование структур Nested](/docs/ru/guides/clickhouse/data-formats/json/formats#accessing-nested-json-objects) в формате `JSONEachRow`.

<div id="input_format_ipv4_default_on_conversion_error">
  ## input\_format\_ipv4\_default\_on\_conversion\_error
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

При десериализации IPv4 при ошибке преобразования будут использоваться значения по умолчанию вместо генерации исключения.

По умолчанию отключено.

<div id="input_format_ipv6_default_on_conversion_error">
  ## input\_format\_ipv6\_default\_on\_conversion\_error
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

При десериализации IPv6 при ошибке преобразования будут использоваться значения по умолчанию вместо того, чтобы сгенерировать исключение.

По умолчанию отключено.

<div id="input_format_json_compact_allow_variable_number_of_columns">
  ## input\_format\_json\_compact\_allow\_variable\_number\_of\_columns
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

Разрешает переменное количество столбцов в строках во входных форматах JSONCompact/JSONCompactEachRow.
Лишние столбцы в строках, где их больше, чем ожидается, игнорируются, а отсутствующие столбцы считаются значениями по умолчанию.

По умолчанию отключено.

<div id="input_format_json_defaults_for_missing_elements_in_named_tuple">
  ## input\_format\_json\_defaults\_for\_missing\_elements\_in\_named\_tuple
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.1"},{"label": "1"},{"label": "По умолчанию разрешено отсутствие элементов в объектах JSON при чтении именованных кортежей"}]}]} />

Подставляет значения по умолчанию для отсутствующих элементов в объекте JSON при разборе именованного кортежа.
Этот параметр работает только при включенном параметре `input_format_json_named_tuples_as_objects`.

Включен по умолчанию.

<div id="input_format_json_empty_as_default">
  ## input\_format\_json\_empty\_as\_default
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.9"},{"label": "0"},{"label": "Добавлена новая настройка, позволяющая обрабатывать пустые поля во входном JSON как значения по умолчанию."}]}]} />

При включении пустые поля во входном JSON заменяются значениями по умолчанию. Для сложных выражений по умолчанию также должна быть включена настройка `input_format_defaults_for_omitted_fields`.

Возможные значения:

* 0 — Отключено.
* 1 — Включено.

<div id="input_format_json_ignore_unknown_keys_in_named_tuple">
  ## input\_format\_json\_ignore\_unknown\_keys\_in\_named\_tuple
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.3"},{"label": "1"},{"label": "Улучшен разбор объектов JSON как именованных кортежей"}]}]} />

Игнорировать неизвестные ключи в объекте JSON при обработке именованных кортежей.

Включено по умолчанию.

<div id="input_format_json_ignore_unnecessary_fields">
  ## input\_format\_json\_ignore\_unnecessary\_fields
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.4"},{"label": "1"},{"label": "Игнорировать лишние поля и не разбирать их. При включении этого параметра исключения для JSON-строк с некорректным форматом или дублирующимися полями могут не генерироваться"}]}]} />

Игнорировать лишние поля и не разбирать их. При включении этого параметра исключения для JSON-строк с некорректным форматом или дублирующимися полями могут не генерироваться

<div id="input_format_json_infer_array_of_dynamic_from_array_of_different_types">
  ## input\_format\_json\_infer\_array\_of\_dynamic\_from\_array\_of\_different\_types
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.8"},{"label": "1"},{"label": "По умолчанию определять Array(Dynamic) для JSON-массивов со значениями разных типов"}]}]} />

Если включено, при определении схемы ClickHouse будет использовать тип Array(Dynamic) для JSON-массивов со значениями разных типов данных.

Пример:

```sql theme={null}
SET input_format_json_infer_array_of_dynamic_from_array_of_different_types=1;
DESC format(JSONEachRow, '{"a" : [42, "hello", [1, 2, 3]]}');
```

```response theme={null}
┌─name─┬─type───────────┐
│ a    │ Array(Dynamic) │
└──────┴────────────────┘
```

```sql theme={null}
SET input_format_json_infer_array_of_dynamic_from_array_of_different_types=0;
DESC format(JSONEachRow, '{"a" : [42, "hello", [1, 2, 3]]}');
```

```response theme={null}
┌─name─┬─type─────────────────────────────────────────────────────────────┐
│ a    │ Tuple(Nullable(Int64), Nullable(String), Array(Nullable(Int64))) │
└──────┴──────────────────────────────────────────────────────────────────┘
```

Включено по умолчанию.

<div id="input_format_json_infer_incomplete_types_as_strings">
  ## input\_format\_json\_infer\_incomplete\_types\_as\_strings
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.9"},{"label": "1"},{"label": "По умолчанию позволяет определять неполные типы как Strings в форматах JSON"}]}]} />

Позволяет использовать тип String для JSON-ключей, которые в выборке данных при определении схемы содержат только `Null`/`{}`/`[]`.
В форматах JSON любое значение можно прочитать как String, поэтому при определении схемы можно избежать ошибок вида `Cannot determine type for column 'column_name' by first 25000 rows of data, most likely this column contains only Nulls or empty Arrays/Maps`,
используя тип String для ключей с неизвестными типами.

Пример:

```sql theme={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,'{}',[]) │
└────────────────────────────────┘
```

Включено по умолчанию.

<div id="input_format_json_map_as_array_of_tuples">
  ## input\_format\_json\_map\_as\_array\_of\_tuples
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.7"},{"label": "0"},{"label": "новая настройка"}]}]} />

Десериализует столбцы типа Map как JSON-массивы кортежей.

По умолчанию отключено.

<div id="input_format_json_max_depth">
  ## input\_format\_json\_max\_depth
</div>

<SettingsInfoBlock type="UInt64" default_value="1000" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.8"},{"label": "1000"},{"label": "В предыдущих версиях ограничение отсутствовало, но это было небезопасно."}]}]} />

Максимальная глубина поля в JSON. Это не жёсткое ограничение: его не обязательно соблюдать в точности.

<div id="input_format_json_named_tuples_as_objects">
  ## input\_format\_json\_named\_tuples\_as\_objects
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

Разбирать столбцы с именованными кортежами как объекты JSON.

Включено по умолчанию.

<div id="input_format_json_read_arrays_as_strings">
  ## input\_format\_json\_read\_arrays\_as\_strings
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.9"},{"label": "1"},{"label": "Позволяет по умолчанию читать массивы как строки в JSON-форматах"}]}]} />

Позволяет разбирать JSON-массивы как строки во входных JSON-форматах.

Пример:

```sql theme={null}
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]                                   │
└───────────────────────┴─────────────────┴───────────────────────────────────────────┘
```

Включено по умолчанию.

<div id="input_format_json_read_bools_as_numbers">
  ## input\_format\_json\_read\_bools\_as\_numbers
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

Разрешает интерпретировать логические значения как числа во входных форматах JSON.

Включено по умолчанию.

<div id="input_format_json_read_bools_as_strings">
  ## input\_format\_json\_read\_bools\_as\_strings
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.1"},{"label": "1"},{"label": "По умолчанию разрешает читать логические значения как строки в форматах JSON"}]}]} />

Разрешает разбирать логические значения как строки во входных форматах JSON.

Включено по умолчанию.

<div id="input_format_json_read_numbers_as_strings">
  ## input\_format\_json\_read\_numbers\_as\_strings
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.9"},{"label": "1"},{"label": "По умолчанию разрешает читать числа как строки в JSON-форматах"}]}]} />

Разрешает разбирать числа как строки во входных JSON-форматах.

Включено по умолчанию.

<div id="input_format_json_read_objects_as_strings">
  ## input\_format\_json\_read\_objects\_as\_strings
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.1"},{"label": "1"},{"label": "Включает чтение вложенных объектов JSON как строк, пока тип Object является экспериментальным"}]}]} />

Разрешает разбирать объекты JSON как строки во входном формате JSON.

Пример:

```sql theme={null}
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 │
└────┴──────────────────────────┴────────────┘
```

Включено по умолчанию.

<div id="input_format_json_throw_on_bad_escape_sequence">
  ## input\_format\_json\_throw\_on\_bad\_escape\_sequence
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.4"},{"label": "1"},{"label": "Разрешает сохранять JSON-строки с некорректными escape-последовательностями"}]}]} />

Генерирует исключение, если JSON-строка содержит некорректную escape-последовательность во входных JSON-форматах. Если параметр отключен, некорректные escape-последовательности сохраняются в данных как есть.

Включено по умолчанию.

<div id="input_format_json_try_infer_named_tuples_from_objects">
  ## input\_format\_json\_try\_infer\_named\_tuples\_from\_objects
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.9"},{"label": "1"},{"label": "По умолчанию пытаться определять именованные Tuple из объектов JSON"}]}]} />

Если настройка включена, то при определении схемы ClickHouse будет пытаться определять именованный Tuple из объектов JSON.
Полученный именованный Tuple будет содержать все элементы из всех соответствующих объектов JSON в выборочных данных.

Пример:

```sql theme={null}
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))) │              │                    │         │                  │                │
└──────┴────────────────────────────────────────────────────────────────────────────────────────────────────┴──────────────┴────────────────────┴─────────┴──────────────────┴────────────────┘
```

Включено по умолчанию.

<div id="input_format_json_try_infer_numbers_from_strings">
  ## input\_format\_json\_try\_infer\_numbers\_from\_strings
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.9"},{"label": "0"},{"label": "По умолчанию не определять числа в строках в форматах JSON, чтобы избежать возможных ошибок разбора"}]}]} />

Если параметр включен, при определении схемы ClickHouse будет пытаться распознавать числа в строковых полях.
Это может быть полезно, если данные JSON содержат числа UInt64 в кавычках.

По умолчанию отключено.

<div id="input_format_json_use_string_type_for_ambiguous_paths_in_named_tuples_inference_from_objects">
  ## input\_format\_json\_use\_string\_type\_for\_ambiguous\_paths\_in\_named\_tuples\_inference\_from\_objects
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.3"},{"label": "0"},{"label": "Разрешить использовать тип String вместо исключения при неоднозначных путях во время вывода именованных кортежей из объектов JSON"}]}]} />

Использовать тип String вместо исключения при неоднозначных путях в объектах JSON во время вывода именованных кортежей

<div id="input_format_json_validate_types_from_metadata">
  ## input\_format\_json\_validate\_types\_from\_metadata
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

Для входных форматов JSON/JSONCompact/JSONColumnsWithMetadata, если для этой настройки задано значение 1,
типы из метаданных во входных данных будут сравниваться с типами соответствующих столбцов таблицы.

Включено по умолчанию.

<div id="input_format_max_block_size_bytes">
  ## input\_format\_max\_block\_size\_bytes
</div>

<SettingsInfoBlock type="UInt64" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.5"},{"label": "0"},{"label": "Новая настройка для ограничения размера блоков в байтах, если они создаются входным форматом"}]}]} />

Ограничивает размер блоков в байтах, формируемых при разборе данных во входных форматах. Используется во входных форматах на основе строк, когда блок формируется на стороне ClickHouse.
0 означает отсутствие ограничения по размеру в байтах.

<div id="input_format_max_block_wait_ms">
  ## input\_format\_max\_block\_wait\_ms
</div>

<SettingsInfoBlock type="UInt64" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.2"},{"label": "0"},{"label": "Новая настройка для ограничения максимального времени ожидания в миллисекундах перед выдачей блока входным форматом"}]}]} />

Ограничивает максимальное время ожидания в миллисекундах перед выдачей блока при разборе данных в построчных входных форматах. 0 означает отсутствие ограничения.

<Note>
  Этот параметр работает только при включенном `input_format_connection_handling`. Установка значения также отключает параллельный разбор и делает дедупликацию невозможной.
</Note>

<Note>
  Для стриминговых вставок также необходимо установить `min_insert_block_size_rows=0` и `min_insert_block_size_bytes=0`. В противном случае разобранные блоки могут по-прежнему накапливаться в памяти на стадии укрупнения блоков, пока не будут достигнуты эти пороговые значения, что препятствует своевременной вставке.
</Note>

**Пример: стриминг недавних изменений в Википедии в ClickHouse**

```bash theme={null}
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
```

<div id="input_format_max_bytes_to_read_for_schema_inference">
  ## input\_format\_max\_bytes\_to\_read\_for\_schema\_inference
</div>

<SettingsInfoBlock type="UInt64" default_value="33554432" />

Максимальный объём данных в байтах, который считывается для автоматического определения схемы.

<div id="input_format_max_rows_to_read_for_schema_inference">
  ## input\_format\_max\_rows\_to\_read\_for\_schema\_inference
</div>

<SettingsInfoBlock type="UInt64" default_value="25000" />

Максимальное количество строк данных, считываемых для автоматического определения схемы.

<div id="input_format_msgpack_number_of_columns">
  ## input\_format\_msgpack\_number\_of\_columns
</div>

<SettingsInfoBlock type="UInt64" default_value="0" />

Количество столбцов во вставляемых данных MsgPack. Используется для автоматического определения схемы на основе данных.

<div id="input_format_mysql_dump_map_column_names">
  ## input\_format\_mysql\_dump\_map\_column\_names
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

Сопоставлять столбцы таблицы из MySQL dump со столбцами таблицы ClickHouse по именам

<div id="input_format_mysql_dump_table_name">
  ## input\_format\_mysql\_dump\_table\_name
</div>

Имя таблицы в дампе MySQL, из которой нужно читать данные

<div id="input_format_native_allow_types_conversion">
  ## input\_format\_native\_allow\_types\_conversion
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.3"},{"label": "1"},{"label": "Разрешить преобразование типов во входном формате Native"}]}]} />

Разрешить преобразование типов во входном формате Native

<div id="input_format_native_decode_types_in_binary_format">
  ## input\_format\_native\_decode\_types\_in\_binary\_format
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.7"},{"label": "0"},{"label": "Добавлена новая настройка, позволяющая читать имена типов в бинарном формате в формате вывода Native"}]}]} />

Читать типы данных в бинарном формате вместо имён типов во входном формате Native

<div id="input_format_null_as_default">
  ## input\_format\_null\_as\_default
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "21.1"},{"label": "1"},{"label": "По умолчанию разрешает использовать NULL как значение по умолчанию во входных форматах"}]}]} />

Включает или отключает инициализацию полей со значением [NULL](/docs/ru/reference/syntax#literals) [значениями по умолчанию](/docs/ru/reference/statements/create/table#default_values), если тип данных этих полей не [Nullable](/docs/ru/reference/data-types/nullable).
Если тип столбца не Nullable и этот параметр отключен, то вставка `NULL` вызывает исключение. Если тип столбца — Nullable, значения `NULL` вставляются как есть, независимо от этого параметра.

Этот параметр применим к большинству входных форматов.

Для сложных выражений по умолчанию также должен быть включен `input_format_defaults_for_omitted_fields`.

Возможные значения:

* 0 — Вставка `NULL` в столбец, не являющийся Nullable, вызывает исключение.
* 1 — Поля со значением `NULL` инициализируются значениями столбца по умолчанию.

<div id="input_format_orc_allow_missing_columns">
  ## input\_format\_orc\_allow\_missing\_columns
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.12"},{"label": "1"},{"label": "По умолчанию разрешать отсутствующие столбцы в ORC-файлах"}]}]} />

Разрешить отсутствующие столбцы при чтении данных в формате ORC

<div id="input_format_orc_case_insensitive_column_matching">
  ## input\_format\_orc\_case\_insensitive\_column\_matching
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

Игнорировать регистр при сопоставлении столбцов ORC со столбцами ClickHouse.

<div id="input_format_orc_dictionary_as_low_cardinality">
  ## input\_format\_orc\_dictionary\_as\_low\_cardinality
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.10"},{"label": "1"},{"label": "Рассматривать столбцы ORC, закодированные с помощью словаря, как столбцы LowCardinality при чтении файлов ORC"}]}]} />

Рассматривать столбцы ORC, закодированные с помощью словаря, как столбцы LowCardinality при чтении файлов ORC.

<div id="input_format_orc_filter_push_down">
  ## input\_format\_orc\_filter\_push\_down
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

При чтении файлов ORC позволяет пропускать целые страйп или группа строк на основе выражений WHERE/PREWHERE, статистики min/max или bloom-фильтра в метаданных ORC.

<div id="input_format_orc_reader_time_zone_name">
  ## input\_format\_orc\_reader\_time\_zone\_name
</div>

<SettingsInfoBlock type="String" default_value="GMT" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.7"},{"label": "GMT"},{"label": "Название часового пояса для построчного считывателя ORC; часовой пояс построчного считывателя ORC по умолчанию — GMT."}]}]} />

Название часового пояса для построчного считывателя ORC; часовой пояс построчного считывателя ORC по умолчанию — GMT.

<div id="input_format_orc_row_batch_size">
  ## input\_format\_orc\_row\_batch\_size
</div>

<SettingsInfoBlock type="Int64" default_value="100000" />

Размер батча при чтении страйпов ORC.

<div id="input_format_orc_skip_columns_with_unsupported_types_in_schema_inference">
  ## input\_format\_orc\_skip\_columns\_with\_unsupported\_types\_in\_schema\_inference
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

Пропускать столбцы с неподдерживаемыми типами при автоматическом определении схемы для формата ORC

<div id="input_format_orc_use_fast_decoder">
  ## input\_format\_orc\_use\_fast\_decoder
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

Использовать более быстрый декодер ORC.

<div id="input_format_parallel_parsing">
  ## input\_format\_parallel\_parsing
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

Включает или отключает параллельный парсинг с сохранением порядка для форматов данных. Поддерживается только для форматов [TabSeparated (TSV)](/docs/ru/reference/formats/TabSeparated/TabSeparated), [TSKV](/docs/ru/reference/formats/TabSeparated/TSKV), [CSV](/docs/ru/reference/formats/CSV/CSV) и [JSONEachRow](/docs/ru/reference/formats/JSON/JSONEachRow).

Возможные значения:

* 1 — Включено.
* 0 — Отключено.

<div id="input_format_parquet_allow_geoparquet_parser">
  ## input\_format\_parquet\_allow\_geoparquet\_parser
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.5"},{"label": "1"},{"label": "Новая настройка для работы с геостолбцами в файле Parquet"}]}]} />

Использовать парсер геостолбцов для преобразования Array(UInt8) в типы Point/Linestring/Polygon/MultiLineString/MultiPolygon

<div id="input_format_parquet_allow_missing_columns">
  ## input\_format\_parquet\_allow\_missing\_columns
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.12"},{"label": "1"},{"label": "По умолчанию разрешить отсутствие столбцов в файлах Parquet"}]}]} />

Разрешить отсутствие столбцов при чтении входного формата Parquet

<div id="input_format_parquet_bloom_filter_push_down">
  ## input\_format\_parquet\_bloom\_filter\_push\_down
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.5"},{"label": "1"},{"label": "При чтении файлов Parquet пропускать целые группы строк на основании выражений WHERE\/PREWHERE и bloom-фильтра в метаданных Parquet."}]}, {"id": "row-2","items": [{"label": "24.10"},{"label": "0"},{"label": "При чтении файлов Parquet пропускать целые группы строк на основании выражений WHERE\/PREWHERE и bloom-фильтра в метаданных Parquet."}]}]} />

При чтении файлов Parquet пропускать целые группы строк на основании выражений WHERE и bloom-фильтра в метаданных Parquet.

<div id="input_format_parquet_case_insensitive_column_matching">
  ## input\_format\_parquet\_case\_insensitive\_column\_matching
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

Игнорировать регистр при сопоставлении столбцов Parquet со столбцами ClickHouse без учёта регистра.

<div id="input_format_parquet_enable_json_parsing">
  ## input\_format\_parquet\_enable\_json\_parsing
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.6"},{"label": "1"},{"label": "При чтении файлов Parquet разбирать JSON-столбцы как JSON-столбцы ClickHouse."}]}]} />

При чтении файлов Parquet разбирать JSON-столбцы как JSON-столбцы ClickHouse.

<div id="input_format_parquet_enable_row_group_prefetch">
  ## input\_format\_parquet\_enable\_row\_group\_prefetch
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.10"},{"label": "1"},{"label": "Включает предварительную загрузку групп строк при парсинге Parquet. В настоящее время предварительная загрузка поддерживается только при однопоточном парсинге."}]}]} />

Включает предварительную загрузку групп строк при парсинге Parquet. В настоящее время предварительная загрузка поддерживается только при однопоточном парсинге.

<div id="input_format_parquet_filter_push_down">
  ## input\_format\_parquet\_filter\_push\_down
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

При чтении файлов Parquet пропускает целые группы строк на основании выражений WHERE/PREWHERE и статистики min/max в метаданных Parquet.

<div id="input_format_parquet_local_file_min_bytes_for_seek">
  ## input\_format\_parquet\_local\_file\_min\_bytes\_for\_seek
</div>

<SettingsInfoBlock type="UInt64" default_value="8192" />

Минимальное количество байтов, необходимое при локальном чтении файла для выполнения seek вместо чтения с пропуском во входном формате Parquet

<div id="input_format_parquet_local_time_as_utc">
  ## input\_format\_parquet\_local\_time\_as\_utc
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.11"},{"label": "1"},{"label": "Использовать более подходящий тип DateTime64(..., 'UTC') для типа Parquet 'local time without timezone'."}]}]} />

Определяет тип данных, используемый при автоматическом определении схемы для временных меток Parquet с `isAdjustedToUTC=false`. Если true: DateTime64(..., 'UTC'), если false: DateTime64(...). Ни один из вариантов не является полностью корректным, так как в ClickHouse нет типа данных для локального времени без привязки к часовому поясу. Как ни парадоксально, вариант `true`, вероятно, менее ошибочен, поскольку форматирование временной метки `'UTC'` как `String` даст корректное представление локального времени.

<div id="input_format_parquet_max_block_size">
  ## input\_format\_parquet\_max\_block\_size
</div>

<SettingsInfoBlock type="NonZeroUInt64" default_value="65409" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.6"},{"label": "65409"},{"label": "Увеличен размер блока для ридера Parquet."}]}]} />

Максимальный размер блока для ридера Parquet.

<div id="input_format_parquet_memory_high_watermark">
  ## input\_format\_parquet\_memory\_high\_watermark
</div>

<SettingsInfoBlock type="UInt64" default_value="4294967296" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.8"},{"label": "4294967296"},{"label": "новая настройка"}]}]} />

Приблизительный лимит памяти для ридера Parquet v3. Ограничивает количество групп строк или столбцов, которые можно читать параллельно. При чтении нескольких файлов в одном запросе ограничение применяется к суммарному использованию памяти для всех этих файлов.

<div id="input_format_parquet_memory_low_watermark">
  ## input\_format\_parquet\_memory\_low\_watermark
</div>

<SettingsInfoBlock type="UInt64" default_value="2097152" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.8"},{"label": "2097152"},{"label": "Новая настройка"}]}]} />

Более агрессивно запускает операции предварительного чтения, если использование памяти ниже порога. Может быть полезно, например, если по сети нужно читать много небольших bloom-фильтров.

<div id="input_format_parquet_page_filter_push_down">
  ## input\_format\_parquet\_page\_filter\_push\_down
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.8"},{"label": "1"},{"label": "новая настройка (не действует, если input_format_parquet_use_native_reader_v3 отключён)"}]}]} />

Пропускать страницы на основе минимальных/максимальных значений из индекса столбца.

<div id="input_format_parquet_prefer_block_bytes">
  ## input\_format\_parquet\_prefer\_block\_bytes
</div>

<SettingsInfoBlock type="UInt64" default_value="16744704" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.6"},{"label": "16744704"},{"label": "Средний размер блока в байтах на выходе ридера Parquet."}]}]} />

Средний размер блока в байтах на выходе ридера Parquet

<div id="input_format_parquet_preserve_order">
  ## input\_format\_parquet\_preserve\_order
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.5"},{"label": "0"},{"label": "Разрешить ридеру Parquet менять порядок строк для повышения параллелизма."}]}]} />

Не меняйте порядок строк при чтении файлов Parquet. Не рекомендуется, так как порядок строк обычно не гарантируется, а другие части конвейера выполнения запроса могут его нарушить. Вместо этого используйте `ORDER BY _row_number`.

<div id="input_format_parquet_skip_columns_with_unsupported_types_in_schema_inference">
  ## input\_format\_parquet\_skip\_columns\_with\_unsupported\_types\_in\_schema\_inference
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

Пропускать столбцы с неподдерживаемыми типами при автоматическом определении схемы для формата Parquet

<div id="input_format_parquet_use_offset_index">
  ## input\_format\_parquet\_use\_offset\_index
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.8"},{"label": "1"},{"label": "новая настройка (не действует, если input_format_parquet_use_native_reader_v3 отключён)"}]}]} />

Небольшое изменение в способе чтения страниц из файла Parquet, когда фильтрация страниц не используется.

<div id="input_format_parquet_verify_checksums">
  ## input\_format\_parquet\_verify\_checksums
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.11"},{"label": "1"},{"label": "Новая настройка"}]}]} />

Проверять контрольные суммы страниц при чтении файлов Parquet.

<div id="input_format_protobuf_flatten_google_wrappers">
  ## input\_format\_protobuf\_flatten\_google\_wrappers
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

Включает wrappers Google для обычных невложенных столбцов, например `google.protobuf.StringValue 'str'` для столбца String `'str'`. Для столбцов с типом Nullable пустые wrappers распознаются как значения по умолчанию, а отсутствующие — как null

<div id="input_format_protobuf_oneof_presence">
  ## input\_format\_protobuf\_oneof\_presence
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.9"},{"label": "0"},{"label": "новая настройка"}]}]} />

Указывает, какое поле protobuf oneof было обнаружено, путём установки значения enum в специальном столбце

<div id="input_format_protobuf_skip_fields_with_unsupported_types_in_schema_inference">
  ## input\_format\_protobuf\_skip\_fields\_with\_unsupported\_types\_in\_schema\_inference
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

Пропускать поля с неподдерживаемыми типами при автоматическом определении схемы для формата Protobuf

<div id="input_format_record_errors_file_path">
  ## input\_format\_record\_errors\_file\_path
</div>

Путь к файлу, используемому для записи ошибок при чтении текстовых форматов (CSV, TSV).

<div id="input_format_skip_unknown_fields">
  ## input\_format\_skip\_unknown\_fields
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "22.6"},{"label": "1"},{"label": "Оптимизировано чтение подмножества столбцов для некоторых форматов ввода"}]}]} />

Включает или отключает пропуск лишних данных при вставке.

При записи данных ClickHouse генерирует исключение, если входные данные содержат столбцы, которых нет в целевой таблице. Если пропуск включен, ClickHouse не вставляет лишние данные и не генерирует исключение.

Поддерживаемые форматы:

* [JSONEachRow](/docs/ru/reference/formats/JSON/JSONEachRow) (и другие JSON-форматы)
* [BSONEachRow](/docs/ru/reference/formats/BSONEachRow) (и другие JSON-форматы)
* [TSKV](/docs/ru/reference/formats/TabSeparated/TSKV)
* Все форматы с суффиксами WithNames/WithNamesAndTypes
* [MySQLDump](/docs/ru/reference/formats/MySQLDump)
* [Native](/docs/ru/reference/formats/Native)

Возможные значения:

* 0 — Отключено.
* 1 — Включено.

<div id="input_format_try_infer_dates">
  ## input\_format\_try\_infer\_dates
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

Если включено, ClickHouse будет пытаться определять тип `Date` по строковым полям при автоматическом определении схемы для текстовых форматов. Если все поля в столбце входных данных были успешно разобраны как даты, результирующий тип будет `Date`; если хотя бы одно поле не удалось разобрать как дату, результирующий тип будет `String`.

Включено по умолчанию.

<div id="input_format_try_infer_datetimes">
  ## input\_format\_try\_infer\_datetimes
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

Если включено, ClickHouse попытается автоматически определить тип `DateTime64` для строковых полей при автоматическом определении схемы для текстовых форматов. Если все поля в столбце входных данных были успешно разобраны как значения даты и времени, результирующий тип будет `DateTime64`; если хотя бы одно поле не удалось разобрать как значение даты и времени, результирующий тип будет `String`.

Включено по умолчанию.

<div id="input_format_try_infer_datetimes_only_datetime64">
  ## input\_format\_try\_infer\_datetimes\_only\_datetime64
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.8"},{"label": "0"},{"label": "Разрешить определять DateTime вместо DateTime64 в форматах данных"}]}]} />

Когда включен параметр input\_format\_try\_infer\_datetimes, определять только DateTime64, а не типы DateTime

<div id="input_format_try_infer_exponent_floats">
  ## input\_format\_try\_infer\_exponent\_floats
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.2"},{"label": "0"},{"label": "По умолчанию не определять числа с плавающей точкой в экспоненциальной форме"}]}]} />

Пытаться определять числа с плавающей точкой в экспоненциальной форме при автоматическом определении схемы в текстовых форматах (кроме JSON, где числа в экспоненциальной форме определяются всегда)

<div id="input_format_try_infer_integers">
  ## input\_format\_try\_infer\_integers
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

Если включено, ClickHouse будет пытаться определять целочисленные типы вместо типов с плавающей точкой при автоматическом определении схемы для текстовых форматов. Если все числа в столбце входных данных являются целыми, результирующим типом будет `Int64`; если хотя бы одно число имеет дробную часть, результирующим типом будет `Float64`.

Включено по умолчанию.

<div id="input_format_try_infer_variants">
  ## input\_format\_try\_infer\_variants
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.9"},{"label": "0"},{"label": "Пытаться определять тип Variant при определении схемы для текстовых форматов, когда для элементов столбца/массива возможно более одного типа"}]}]} />

Если включено, ClickHouse будет пытаться определять тип [`Variant`](/docs/ru/reference/data-types/variant) при определении схемы для текстовых форматов, когда для элементов столбца/массива возможно более одного типа.

Возможные значения:

* 0 — Отключено.
* 1 — Включено.

<div id="input_format_tsv_allow_variable_number_of_columns">
  ## input\_format\_tsv\_allow\_variable\_number\_of\_columns
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

Игнорировать лишние столбцы во входных данных TSV (если в файле столбцов больше, чем ожидается) и считать отсутствующие поля во входных данных TSV значениями по умолчанию

<div id="input_format_tsv_crlf_end_of_line">
  ## input\_format\_tsv\_crlf\_end\_of\_line
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.5"},{"label": "0"},{"label": "Включает чтение окончаний строк CRLF в формате TSV"}]}]} />

Если параметр имеет значение true, функция file будет читать формат TSV с окончанием строк \r\n вместо \n.

<div id="input_format_tsv_detect_header">
  ## input\_format\_tsv\_detect\_header
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.1"},{"label": "1"},{"label": "По умолчанию определять заголовок в формате TSV"}]}]} />

Автоматически определять заголовок с именами и типами в формате TSV

<div id="input_format_tsv_empty_as_default">
  ## input\_format\_tsv\_empty\_as\_default
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

Считать пустые поля во входных данных TSV значениями по умолчанию.

<div id="input_format_tsv_enum_as_number">
  ## input\_format\_tsv\_enum\_as\_number
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

Считать значения enum, вставляемые в форматах TSV, индексами enum.

<div id="input_format_tsv_skip_first_lines">
  ## input\_format\_tsv\_skip\_first\_lines
</div>

<SettingsInfoBlock type="UInt64" default_value="0" />

Пропускать указанное количество строк в начале данных в TSV format

<div id="input_format_tsv_skip_trailing_empty_lines">
  ## input\_format\_tsv\_skip\_trailing\_empty\_lines
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

Пропускать пустые строки в конце в формате TSV

<div id="input_format_tsv_use_best_effort_in_schema_inference">
  ## input\_format\_tsv\_use\_best\_effort\_in\_schema\_inference
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

Использовать дополнительные настройки и эвристики для автоматического определения схемы в формате TSV

<div id="input_format_values_accurate_types_of_literals">
  ## input\_format\_values\_accurate\_types\_of\_literals
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

Для формата Values: при разборе и интерпретации выражений по шаблону проверяйте фактический тип литерала, чтобы избежать возможных проблем с переполнением и потерей точности.

<div id="input_format_values_deduce_templates_of_expressions">
  ## input\_format\_values\_deduce\_templates\_of\_expressions
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

Для формата Values: если поле не удалось разобрать потоковым парсером, запускается SQL-парсер, определяется шаблон SQL-выражения, затем с помощью этого шаблона выполняется попытка разобрать все строки, после чего выражение интерпретируется для всех строк.

<div id="input_format_values_interpret_expressions">
  ## input\_format\_values\_interpret\_expressions
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

Для формата Values: если поле не удалось разобрать потоковым парсером, используется SQL-парсер, который пытается интерпретировать его как SQL-выражение.

<div id="input_format_with_names_use_header">
  ## input\_format\_with\_names\_use\_header
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "20.5"},{"label": "1"},{"label": "Включение использования заголовка с именами для форматов с суффиксами WithNames/WithNamesAndTypes"}]}]} />

Включает или отключает проверку порядка столбцов при вставке данных.

Чтобы повысить производительность вставки, рекомендуем отключить эту проверку, если вы уверены, что порядок столбцов во входных данных совпадает с порядком столбцов в целевой таблице.

Поддерживаемые форматы:

* [CSVWithNames](/docs/ru/reference/formats/CSV/CSVWithNames)
* [CSVWithNamesAndTypes](/docs/ru/reference/formats/CSV/CSVWithNamesAndTypes)
* [TabSeparatedWithNames](/docs/ru/reference/formats/TabSeparated/TabSeparatedWithNames)
* [TabSeparatedWithNamesAndTypes](/docs/ru/reference/formats/TabSeparated/TabSeparatedWithNamesAndTypes)
* [JSONCompactEachRowWithNames](/docs/ru/reference/formats/JSON/JSONCompactEachRowWithNames)
* [JSONCompactEachRowWithNamesAndTypes](/docs/ru/reference/formats/JSON/JSONCompactEachRowWithNamesAndTypes)
* [JSONCompactStringsEachRowWithNames](/docs/ru/reference/formats/JSON/JSONCompactStringsEachRowWithNames)
* [JSONCompactStringsEachRowWithNamesAndTypes](/docs/ru/reference/formats/JSON/JSONCompactStringsEachRowWithNamesAndTypes)
* [RowBinaryWithNames](/docs/ru/reference/formats/RowBinary/RowBinaryWithNames)
* [RowBinaryWithNamesAndTypes](/docs/ru/reference/formats/RowBinary/RowBinaryWithNamesAndTypes)
* [CustomSeparatedWithNames](/docs/ru/reference/formats/CustomSeparated/CustomSeparatedWithNames)
* [CustomSeparatedWithNamesAndTypes](/docs/ru/reference/formats/CustomSeparated/CustomSeparatedWithNamesAndTypes)

Возможные значения:

* 0 — Отключено.
* 1 — Включено.

<div id="input_format_with_types_use_header">
  ## input\_format\_with\_types\_use\_header
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

Определяет, должен ли парсер формата проверять, соответствуют ли типы данных во входных данных типам данных в целевой таблице.

Поддерживаемые форматы:

* [CSVWithNamesAndTypes](/docs/ru/reference/formats/CSV/CSVWithNamesAndTypes)
* [TabSeparatedWithNamesAndTypes](/docs/ru/reference/formats/TabSeparated/TabSeparatedWithNamesAndTypes)
* [JSONCompactEachRowWithNamesAndTypes](/docs/ru/reference/formats/JSON/JSONCompactEachRowWithNamesAndTypes)
* [JSONCompactStringsEachRowWithNamesAndTypes](/docs/ru/reference/formats/JSON/JSONCompactStringsEachRowWithNamesAndTypes)
* [RowBinaryWithNamesAndTypes](/docs/ru/reference/formats/RowBinary/RowBinaryWithNamesAndTypes)
* [CustomSeparatedWithNamesAndTypes](/docs/ru/reference/formats/CustomSeparated/CustomSeparatedWithNamesAndTypes)

Возможные значения:

* 0 — Отключено.
* 1 — Включено.
