> ## 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.

# configurações de formato input_format_*

> Configurações de formato do ClickHouse no grupo gerado de 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
  }}>Tipo</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{type}</div>
      <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>Padrão</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{default_value}</div>
      {changeable_without_restart && <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>
          Pode ser alterado sem reiniciar
        </div>}
      {changeable_without_restart && <div style={{
    overflowWrap: "anywhere"
  }}>
          {changeable_without_restart}
        </div>}
    </div>;
};

Essas configurações são geradas automaticamente a partir do [código-fonte](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" />

Define o número máximo de erros aceitáveis ao ler formatos de texto (CSV, TSV etc.).

O valor padrão é 0.

Sempre use em conjunto com `input_format_allow_errors_ratio`.

Se ocorrer um erro durante a leitura de linhas, mas o contador de erros ainda estiver abaixo de `input_format_allow_errors_num`, o ClickHouse ignora a linha e passa para a próxima.

Se ambos `input_format_allow_errors_num` e `input_format_allow_errors_ratio` forem excedidos, o ClickHouse lança uma exceção.

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

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

Define a porcentagem máxima de erros permitida ao ler formatos de texto (CSV, TSV etc.).
A porcentagem de erros é definida como um número de ponto flutuante entre 0 e 1.

O valor padrão é 0.

Sempre use em conjunto com `input_format_allow_errors_num`.

Se ocorrer um erro durante a leitura de linhas, mas o contador de erros ainda estiver abaixo de `input_format_allow_errors_ratio`, o ClickHouse ignora a linha e passa para a próxima.

Se tanto `input_format_allow_errors_num` quanto `input_format_allow_errors_ratio` forem excedidos, o ClickHouse lança uma exceção.

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

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

Permite reposicionamentos (ou leituras por intervalo) ao ler os formatos de entrada ORC, Parquet e Arrow.
Quando habilitado e a origem oferece suporte a isso (por exemplo, arquivo local, S3, HTTP com suporte a intervalos e tamanho conhecido),
o ClickHouse pode ler apenas os intervalos de bytes necessários e usar menos memória.
Quando desabilitado, ou quando a origem não oferece suporte a reposicionamentos (por exemplo, sem tamanho de arquivo ou com fluxo sem suporte a seek),
alguns leitores podem recorrer ao carregamento do arquivo inteiro na memória.
Habilitado por padrão.

<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": "Permitir colunas ausentes em arquivos Arrow por padrão"}]}]} />

Permitir colunas ausentes ao ler formatos de entrada do Arrow

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

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

Ignora maiúsculas e minúsculas ao corresponder colunas Arrow com colunas CH.

<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" />

Ignorar colunas com tipos não suportados durante a inferência de esquema do formato 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": "Nova configuração para usar o leitor nativo do ClickHouse para os formatos Arrow e ArrowStream em vez do baseado na biblioteca Apache Arrow."}]}]} />

Use o leitor nativo do ClickHouse para os formatos Arrow e ArrowStream em vez do baseado na biblioteca Apache Arrow.

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

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

Para o formato Avro/AvroConfluent: quando o campo não for encontrado no esquema, use o valor padrão em vez de gerar um erro

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

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

Para o formato Avro/AvroConfluent: insere o valor padrão no caso de null em coluna não 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": "Adicionada uma nova configuração para permitir a leitura de nomes de tipos em formato binário no formato de entrada RowBinaryWithNamesAndTypes"}]}]} />

Ler os tipos de dados em formato binário, em vez de nomes de tipos, no formato de entrada 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": "Adiciona uma nova configuração para controlar o número máximo de nós de tipo ao decodificar tipos binários. Protege contra entradas maliciosas."}]}]} />

Número máximo de nós de tipo ao decodificar tipos binários (não a profundidade, mas a contagem total). `Map(String, UInt32)` = 3 nós. Protege contra entradas maliciosas. 0 = ilimitado.

<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": "Adiciona nova configuração para ler valores do tipo JSON como string JSON no formato de entrada RowBinary"}]}]} />

Lê valores do tipo de dado [JSON](/docs/pt-BR/reference/data-types/newjson) como valores [String](/docs/pt-BR/reference/data-types/string) JSON no formato de entrada 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" />

Ignora campos com tipos não suportados durante a inferência de esquema do formato 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" />

Ignora colunas com tipos não suportados durante a inferência de esquema do formato 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": "Primeiro, faz a correspondência dos nomes das colunas de entrada com distinção entre maiúsculas e minúsculas e, se não houver correspondência, recorre à correspondência sem distinção entre maiúsculas e minúsculas, em vez de exigir uma correspondência exata de maiúsculas e minúsculas."}]}, {"id": "row-2","items": [{"label": "26.4"},{"label": "match_case"},{"label": "Nova configuração."}]}]} />

Define o modo de correspondência de nomes de colunas ao fazer a ingestão de dados por vários formatos (incluindo, entre outros, JSONEachRow, CSVWithNames, JSONColumns, BSONEachRow e RowBinaryWithNames).
Modos compatíveis:

* match\_case: faz a correspondência com distinção entre maiúsculas e minúsculas
  * ignore\_case: faz a correspondência sem distinção entre maiúsculas e minúsculas
  * auto: primeiro tenta fazer a correspondência com distinção entre maiúsculas e minúsculas; se falhar, tenta fazer a correspondência sem distinção entre maiúsculas e minúsculas.

<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": "Nova configuração para permitir a análise e o processamento dos dados restantes no buffer caso a conexão seja fechada inesperadamente"}]}]} />

Quando esta opção está ativada, se a conexão for fechada inesperadamente, quaisquer dados restantes no buffer serão analisados e processados em vez de serem tratados como erro

<Note>
  Ativar esta opção desabilita a análise paralela e torna a desduplicação impossível
</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" />

Se for definido como true, \r será permitido no final da linha sem ser seguido por

<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" />

Ignora colunas extras na entrada CSV (se o arquivo tiver mais colunas do que o esperado) e trata campos ausentes na entrada CSV como valores padrão

<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" />

Permite usar espaços e tabulações(\t) como delimitadores de campo em strings CSV

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

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

Ao ler `Array` de CSV, espera-se que seus elementos tenham sido serializados em CSV aninhado e depois colocados em uma string. Exemplo: "\[""Hello"", ""world"", ""42"""" TV""]". Os colchetes ao redor do array podem ser omitidos.

<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": "Uma nova forma de interpretar tuplas no formato CSV foi adicionada."}]}, {"id": "row-2","items": [{"label": "24.3"},{"label": "1"},{"label": "Uma nova forma de interpretar tuplas no formato CSV foi adicionada."}]}]} />

Se definido como true, colunas separadas gravadas no formato CSV podem ser desserializadas para uma coluna 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": "Detectar automaticamente o cabeçalho no formato CSV por padrão"}]}]} />

Detecta automaticamente o cabeçalho com nomes e tipos no formato CSV

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

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

Considera campos vazios na entrada CSV como valores padrão.

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

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

Trata os valores enum inseridos em formatos CSV como índices do 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": "Nova configuração para ler um valor ausente de `Nullable(String)` em CSV como uma string vazia em vez de NULL."}]}]} />

Controla como `Nullable(String)` é lido a partir de um valor ausente no CSV. Um valor ausente é um espaço vazio entre/antes/depois de vírgulas, sem estar entre aspas. Se essa configuração estiver ativada, independentemente do valor de `input_format_csv_empty_as_default`, o valor ausente de `Nullable(String)` será interpretado como uma `String` vazia, não como NULL.

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

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

Ignora o número especificado de linhas no início dos dados no formato CSV

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

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

Ignora linhas vazias no final no formato CSV

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

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

Remove espaços e tabulações (\t) no início e no fim de strings 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" />

Se estiver habilitada, durante a inferência de esquema, o ClickHouse tentará inferir números a partir de campos do tipo string.
Isso pode ser útil se os dados CSV contiverem números UInt64 entre aspas.

Desabilitada por padrão.

<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": "Foi adicionada uma nova forma de interpretar tuplas no formato CSV."}]}, {"id": "row-2","items": [{"label": "24.3"},{"label": "1"},{"label": "Foi adicionada uma nova forma de interpretar tuplas no formato CSV."}]}]} />

Interpreta tuplas entre aspas nos dados de entrada como um valor do tipo 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" />

Usa alguns ajustes e heurísticas para inferir o esquema no formato 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" />

Permite definir o valor padrão da coluna quando a desserialização do campo CSV falhar devido a um valor inválido

<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" />

Ignora colunas extras na entrada CustomSeparated (se o arquivo tiver mais colunas do que o esperado) e trata campos ausentes na entrada CustomSeparated como valores padrão

<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": "Detecta o cabeçalho no formato CustomSeparated por padrão"}]}]} />

Detecta automaticamente o cabeçalho com nomes e tipos no formato CustomSeparated

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

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

Ignora linhas vazias no final no formato 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": "Habilita o cálculo de expressões padrão complexas para campos omitidos em alguns formatos de entrada, pois esse deve ser o comportamento esperado"}]}]} />

Ao executar consultas `INSERT`, substitua os valores omitidos das colunas de entrada pelos valores padrão das respectivas colunas. Esta opção se aplica aos formatos [JSONEachRow](/docs/pt-BR/reference/formats/JSON/JSONEachRow) (e outros formatos JSON), [CSV](/docs/pt-BR/reference/formats/CSV/CSV), [TabSeparated](/docs/pt-BR/reference/formats/TabSeparated/TabSeparated), [TSKV](/docs/pt-BR/reference/formats/TabSeparated/TSKV), [Parquet](/docs/pt-BR/reference/formats/Parquet/Parquet), [Arrow](/docs/pt-BR/reference/formats/Arrow/Arrow), [Avro](/docs/pt-BR/reference/formats/Avro/Avro), [ORC](/docs/pt-BR/reference/formats/ORC), [Native](/docs/pt-BR/reference/formats/Native) e aos formatos com os sufixos `WithNames`/`WithNamesAndTypes`.

<Note>
  Quando esta opção está habilitada, metadados estendidos da tabela são enviados do servidor para o cliente. Isso consome recursos computacionais adicionais no servidor e pode reduzir o desempenho.
</Note>

Valores possíveis:

* 0 — Desabilitado.
* 1 — Habilitado.

<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": "Desativa os valores padrão do tipo para campos omitidos quando necessário"}]}]} />

Força a inicialização de campos omitidos com valores 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": "Nova configuração que controla o tratamento de tipos de geometria GeoJSON que não podem ser representados no tipo Geometry (GeometryCollection, MultiPoint)"}]}]} />

Controla o que acontece quando um tipo de geometria `GeoJSON` válido que não pode ser representado no tipo `Geometry` do ClickHouse (como `GeometryCollection` ou `MultiPoint`) precisa ser armazenado na coluna `geometry` durante a leitura de dados de entrada `GeoJSON`.

Valores possíveis:

* `'throw'` (padrão) — gera uma exceção.
* `'null'` — insere um valor `NULL` na coluna `geometry` e continua o parsing.

Isso se aplica somente quando a coluna `geometry` é materializada. Quando ela não é uma coluna de saída solicitada, essa geometria é validada para verificar se está bem formada, mas não aciona esse tratamento.

<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": "Ignora colunas extras na entrada no formato Hive Text (se o arquivo tiver mais colunas do que o esperado) e trata campos ausentes na entrada no formato Hive Text como valores padrão."}]}]} />

Ignora colunas extras na entrada no formato Hive Text (se o arquivo tiver mais colunas do que o esperado) e trata campos ausentes na entrada no formato Hive Text como valores padrão

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

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

Delimitador entre os itens de coleção (array ou map) no Hive Text File

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

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

Delimitador entre os campos em 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="" />

Delimitador entre um par de chave/valor de map no Hive Text File

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

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

Ativa ou desativa a inserção de dados JSON com objetos aninhados.

Formatos suportados:

* [JSONEachRow](/docs/pt-BR/reference/formats/JSON/JSONEachRow)

Valores possíveis:

* 0 — Desativado.
* 1 — Ativado.

Veja também:

* [Uso de estruturas Nested](/docs/pt-BR/guides/clickhouse/data-formats/json/formats#accessing-nested-json-objects) com o formato `JSONEachRow`.

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

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

A desserialização de IPv4 usará valores padrão em vez de gerar uma exceção em caso de erro de conversão.

Desabilitado por padrão.

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

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

A desserialização de IPV6 usará valores padrão em vez de gerar uma exceção em caso de erro de conversão.

Desativado por padrão.

<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" />

Permite um número variável de colunas por linha nos formatos de entrada JSONCompact/JSONCompactEachRow.
Ignora colunas extras em linhas com mais colunas do que o esperado e trata colunas ausentes como valores padrão.

Desativado por padrão.

<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": "Permitir, por padrão, elementos ausentes em objetos JSON ao ler tuplas nomeadas"}]}]} />

Insere valores padrão para elementos ausentes em objetos JSON ao analisar tuplas nomeadas.
Essa configuração funciona somente quando a configuração `input_format_json_named_tuples_as_objects` está habilitada.

Habilitado por padrão.

<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": "Nova configuração adicionada para permitir que campos vazios na entrada JSON sejam tratados como valores padrão."}]}]} />

Quando habilitada, substitui campos de entrada vazios em JSON por valores padrão. Para expressões padrão complexas, `input_format_defaults_for_omitted_fields` também deve estar habilitada.

Valores possíveis:

* 0 — Desabilitado.
* 1 — Habilitado.

<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": "Melhora a análise de objetos JSON como tuplas nomeadas"}]}]} />

Ignora chaves desconhecidas em objetos JSON para tuplas nomeadas.

Habilitado por padrão.

<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": "Ignora campos desnecessários sem analisá-los. Ao habilitar esta opção, exceções podem não ser geradas para strings JSON com formato inválido ou campos duplicados"}]}]} />

Ignora campos desnecessários sem analisá-los. Ao habilitar esta opção, exceções podem não ser geradas para strings JSON com formato inválido ou campos duplicados

<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": "Inferir Array(Dynamic) por padrão para arrays JSON com valores de diferentes tipos de dados"}]}]} />

Se estiver habilitado, durante a inferência de esquema o ClickHouse usará o tipo Array(Dynamic) para arrays JSON com valores de diferentes tipos de dados.

Exemplo:

```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))) │
└──────┴──────────────────────────────────────────────────────────────────┘
```

Habilitado por padrão.

<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": "Permite inferir tipos incompletos como Strings em formatos JSON por padrão"}]}]} />

Permite usar o tipo String para chaves em JSON que contenham apenas `Null`/`{}`/`[]` na amostra de dados durante a inferência de esquema.
Nos formatos JSON, qualquer valor pode ser lido como String, e isso permite evitar erros como `Cannot determine type for column 'column_name' by first 25000 rows of data, most likely this column contains only Nulls or empty Arrays/Maps` durante a inferência de esquema,
usando o tipo String para chaves com tipos desconhecidos.

Exemplo:

```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" : []}}');
```

Resultado:

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

Ativado por padrão.

<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": "Nova configuração"}]}]} />

Desserializa colunas do tipo map como arrays JSON de tuplas.

Desativado por padrão.

<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": "Era ilimitado nas versões anteriores, mas isso não era seguro."}]}]} />

Profundidade máxima de um campo em JSON. Não é um limite estrito e não precisa ser aplicado exatamente.

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

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

Interpreta colunas de tuplas nomeadas como objetos JSON.

Ativado por padrão.

<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": "Permite ler arrays como strings em formatos JSON por padrão"}]}]} />

Permite interpretar arrays JSON como strings em formatos de entrada JSON.

Exemplo:

```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]]}');
```

Resultado:

```
┌─arr───────────────────┬─toTypeName(arr)─┬─arrayElement(JSONExtractArrayRaw(arr), 3)─┐
│ [1, "Hello", [1,2,3]] │ String          │ [1,2,3]                                   │
└───────────────────────┴─────────────────┴───────────────────────────────────────────┘
```

Ativado por padrão.

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

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

Permite interpretar valores Bool como números em formatos de entrada JSON.

Ativado por padrão.

<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": "Permite ler valores Bool como String em formatos JSON por padrão"}]}]} />

Permite analisar valores Bool como String em formatos de entrada JSON.

Ativado por padrão.

<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": "Permite ler números como strings em formatos de entrada JSON por padrão"}]}]} />

Permite interpretar números como strings em formatos de entrada JSON.

Ativado por padrão.

<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": "Habilita a leitura de objetos JSON aninhados como strings enquanto o tipo Object é experimental"}]}]} />

Permite analisar objetos JSON como strings em formatos de entrada JSON.

Exemplo:

```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;
```

Resultado:

```
┌─id─┬─obj──────────────────────┬───────date─┐
│  1 │ {"a" : 1, "b" : "Hello"} │ 2020-01-01 │
└────┴──────────────────────────┴────────────┘
```

Habilitado por padrão.

<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": "Permite salvar strings JSON com sequências de escape inválidas"}]}]} />

Gera uma exceção se a string JSON contiver uma sequência de escape inválida nos formatos de entrada JSON. Se estiver desabilitada, as sequências de escape inválidas permanecerão como estão nos dados.

Ativado por padrão.

<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": "Tentar inferir Tuples nomeadas de objetos JSON por padrão"}]}]} />

Se estiver habilitada, durante a inferência de esquema o ClickHouse tentará inferir uma Tuple nomeada a partir de objetos JSON.
A Tuple nomeada resultante conterá todos os elementos de todos os objetos JSON correspondentes nos dados de exemplo.

Exemplo:

```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}}}')
```

Resultado:

```
┌─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))) │              │                    │         │                  │                │
└──────┴────────────────────────────────────────────────────────────────────────────────────────────────────┴──────────────┴────────────────────┴─────────┴──────────────────┴────────────────┘
```

Habilitado por padrão.

<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": "Não inferir números a partir de strings em formatos JSON por padrão para evitar possíveis erros de parsing"}]}]} />

Se estiver habilitado, durante a inferência de esquema, o ClickHouse tentará inferir números a partir de campos do tipo string.
Isso pode ser útil se os dados JSON contiverem números UInt64 entre aspas.

Desativado por padrão.

<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": "Permite usar o tipo String para caminhos ambíguos durante a inferência de tuplas nomeadas a partir de objetos JSON"}]}]} />

Use o tipo String em vez de uma exceção no caso de caminhos ambíguos em objetos JSON durante a inferência de tuplas nomeadas

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

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

Para os formatos de entrada JSON/JSONCompact/JSONColumnsWithMetadata, se essa configuração estiver definida como 1,
os tipos presentes nos metadados dos dados de entrada serão comparados com os tipos das colunas correspondentes da tabela.

Ativado por padrão.

<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": "Nova configuração para limitar o tamanho, em bytes, dos blocos criados pelo formato de entrada"}]}]} />

Limita, em bytes, o tamanho dos blocos formados durante o parsing de dados em formatos de entrada. Usado em formatos de entrada baseados em linhas quando o bloco é formado no lado do ClickHouse.
0 significa que não há limite em bytes.

<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": "Nova configuração para limitar o tempo máximo de espera em milissegundos antes que um bloco seja emitido pelo formato de entrada"}]}]} />

Limita o tempo máximo, em milissegundos, de espera antes da emissão de um bloco durante o parsing em formatos de entrada baseados em linhas. 0 significa que não há limite.

<Note>
  Esta opção só funciona se `input_format_connection_handling` estiver habilitado. Definir um valor também desabilita o parsing paralelo e impossibilita a desduplicação.
</Note>

<Note>
  Para inserções em streaming, você também deve definir `min_insert_block_size_rows=0` e `min_insert_block_size_bytes=0`. Caso contrário, os blocos analisados ainda podem ser acumulados na memória pelo estágio de squashing de blocos até que esses limites sejam atingidos, impedindo inserções em tempo hábil.
</Note>

**Exemplo: streaming de alterações recentes da Wikipedia para o 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" />

A quantidade máxima de dados, em bytes, a ser lida para a inferência automática de esquema.

<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" />

O número máximo de linhas de dados lidas para inferência automática de esquema.

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

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

O número de colunas nos dados MsgPack inseridos. Usado para a inferência automática de esquema a partir dos dados.

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

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

Faz a correspondência entre as colunas da tabela no MySQL dump e as colunas da tabela do ClickHouse pelos nomes

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

Nome da tabela no MySQL dump de onde ler os dados

<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": "Permite a conversão de tipos no formato de entrada Native"}]}]} />

Permite a conversão de tipos de dados no formato de entrada 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": "Nova configuração adicionada para permitir ler nomes de tipos em formato binário no formato de saída Native"}]}]} />

Ler tipos de dados em formato binário em vez de nomes de tipos no formato de entrada 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": "Permite inserir NULL como valor padrão nos formatos de entrada"}]}]} />

Habilita ou desabilita a inicialização de campos [NULL](/docs/pt-BR/reference/syntax#literals) com [valores padrão](/docs/pt-BR/reference/statements/create/table#default_values), caso o tipo de dados desses campos não seja [Nullable](/docs/pt-BR/reference/data-types/nullable).
Se o tipo da coluna não for Nullable e essa configuração estiver desabilitada, inserir `NULL` causará uma exceção. Se o tipo da coluna for Nullable, os valores `NULL` serão inseridos como estão, independentemente dessa configuração.

Essa configuração se aplica à maioria dos formatos de entrada.

Para expressões padrão complexas, `input_format_defaults_for_omitted_fields` também deve estar habilitado.

Valores possíveis:

* 0 — Inserir `NULL` em uma coluna não Nullable causa uma exceção.
* 1 — Os campos `NULL` são inicializados com os valores padrão da coluna.

<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": "Permitir colunas ausentes em arquivos ORC por padrão"}]}]} />

Permitir colunas ausentes ao ler arquivos ORC no formato de entrada

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

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

Ignora diferenças entre maiúsculas e minúsculas ao corresponder colunas ORC com colunas CH.

<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": "Considera colunas codificadas com dicionário ORC como colunas LowCardinality durante a leitura de arquivos ORC"}]}]} />

Considera colunas codificadas com dicionário ORC como colunas LowCardinality durante a leitura de arquivos ORC.

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

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

Ao ler arquivos ORC, ignore stripes ou grupos de linhas inteiros com base nas expressões WHERE/PREWHERE, nas estatísticas de mín./máx. ou no filtro de Bloom nos metadados do 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": "Nome do fuso horário do leitor de linhas ORC; o fuso horário padrão do leitor de linhas ORC é GMT."}]}]} />

Nome do fuso horário do leitor de linhas ORC; o fuso horário padrão do leitor de linhas ORC é GMT.

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

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

Tamanho do lote na leitura de stripes do 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" />

Ignora colunas com tipos não suportados durante a inferência de esquema do formato ORC

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

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

Usa uma implementação mais rápida do decodificador ORC.

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

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

Ativa ou desativa o parsing paralelo de formatos de dados, preservando a ordem. Compatível apenas com os formatos [TabSeparated (TSV)](/docs/pt-BR/reference/formats/TabSeparated/TabSeparated), [TSKV](/docs/pt-BR/reference/formats/TabSeparated/TSKV), [CSV](/docs/pt-BR/reference/formats/CSV/CSV) e [JSONEachRow](/docs/pt-BR/reference/formats/JSON/JSONEachRow).

Valores possíveis:

* 1 — Habilitado.
* 0 — Desabilitado.

<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": "Nova configuração para usar colunas geo em um arquivo Parquet"}]}]} />

Usar o parser de colunas geo para converter Array(UInt8) em tipos 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": "Permitir colunas ausentes em arquivos Parquet por padrão"}]}]} />

Permitir colunas ausentes ao ler formatos de entrada em 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": "Ao ler arquivos Parquet, ignore grupos inteiros de linhas com base nas expressões WHERE\/PREWHERE e no filtro de Bloom nos metadados do Parquet."}]}, {"id": "row-2","items": [{"label": "24.10"},{"label": "0"},{"label": "Ao ler arquivos Parquet, ignore grupos inteiros de linhas com base nas expressões WHERE\/PREWHERE e no filtro de Bloom nos metadados do Parquet."}]}]} />

Ao ler arquivos Parquet, ignore grupos inteiros de linhas com base nas expressões WHERE e no filtro de Bloom nos metadados do Parquet.

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

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

Ignora a distinção entre maiúsculas e minúsculas ao corresponder colunas do Parquet com colunas CH.

<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": "Ao ler arquivos Parquet, interpreta colunas JSON como a coluna JSON do ClickHouse."}]}]} />

Ao ler arquivos Parquet, interpreta colunas JSON como a coluna JSON do 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": "Habilita o prefetch de row groups durante o parsing de Parquet. Atualmente, apenas o parsing de thread única pode usar prefetch."}]}]} />

Habilita o prefetch de row groups durante o parsing de Parquet. Atualmente, apenas o parsing de thread única pode usar prefetch.

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

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

Ao ler arquivos Parquet, ignore grupos de linhas inteiros com base nas expressões WHERE/PREWHERE e nas estatísticas mín./máx. dos metadados do 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" />

Número mínimo de bytes necessário para que a leitura local (arquivo) faça `seek`, em vez de ler e ignorar, no formato de entrada 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": "Usa o tipo DateTime64(..., 'UTC') mais apropriado para o tipo parquet 'hora local sem fuso horário'."}]}]} />

Determina o tipo de dado usado pela inferência de esquema para timestamps Parquet com isAdjustedToUTC=false. Se true: DateTime64(..., 'UTC'); se false: DateTime64(...). Nenhum dos comportamentos está totalmente correto, pois o ClickHouse não tem um tipo de dado para horário local de relógio. Contraintuitivamente, 'true' provavelmente é a opção menos incorreta, porque formatar o timestamp 'UTC' como String produzirá a representação do horário local correto.

<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": "Aumenta o tamanho do bloco do leitor de Parquet."}]}]} />

Tamanho máximo do bloco do leitor de 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": "Nova configuração"}]}]} />

Limite aproximado de memória do leitor de Parquet v3. Limita quantos grupos de linhas ou colunas podem ser lidos em paralelo. Ao ler vários arquivos em uma única consulta, o limite se aplica ao uso total de memória desses arquivos.

<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": "Nova configuração"}]}]} />

Realiza prefetches de forma mais agressiva se o uso de memória estiver abaixo do limite. Pode ser útil, por exemplo, se houver muitos filtros de Bloom pequenos para ler pela rede.

<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": "Nova configuração (sem efeito quando input_format_parquet_use_native_reader_v3 estiver desabilitado)"}]}]} />

Ignora páginas com base nos valores mín./máx. do índice da coluna.

<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": "Quantidade média de bytes por bloco gerados pelo leitor de Parquet."}]}]} />

Quantidade média de bytes por bloco gerados pelo leitor de 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": "Permite que o leitor de Parquet reordene as linhas para maior paralelismo."}]}]} />

Evite reordenar as linhas ao ler arquivos Parquet. Isso não é recomendado, pois a ordem das linhas em geral não é garantida, e outras partes do pipeline de consulta podem alterá-la. Use `ORDER BY _row_number` em vez disso.

<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" />

Ignora colunas com tipos não suportados durante a inferência de esquema do formato 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": "Nova configuração (sem efeito quando input_format_parquet_use_native_reader_v3 está desabilitado)"}]}]} />

Pequeno ajuste na forma de ler páginas de arquivo Parquet quando não há filtragem de páginas.

<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": "Nova configuração."}]}]} />

Verifica os checksums das páginas ao ler arquivos Parquet.

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

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

Ativa wrappers do Google para colunas comuns não aninhadas, por exemplo, google.protobuf.StringValue 'str' para a coluna do tipo String 'str'. Para colunas Nullable, wrappers vazios são reconhecidos como valores padrão, e valores ausentes como nulls

<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": "Nova configuração"}]}]} />

Indica qual campo de `protobuf oneof` foi encontrado por meio da definição de um valor `enum` em uma coluna especial

<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" />

Ignora campos com tipos não suportados durante a inferência de esquema do formato Protobuf

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

Caminho do arquivo usado para registrar erros ao ler formatos de texto (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": "Otimizar a leitura de subconjuntos de colunas para alguns formatos de entrada"}]}]} />

Habilita ou desabilita a omissão de dados extras durante a inserção.

Ao gravar dados, o ClickHouse lança uma exceção se os dados de entrada contiverem colunas que não existem na tabela de destino. Se essa opção estiver habilitada, o ClickHouse não insere os dados extras nem lança uma exceção.

Formatos suportados:

* [JSONEachRow](/docs/pt-BR/reference/formats/JSON/JSONEachRow) (e outros formatos JSON)
* [BSONEachRow](/docs/pt-BR/reference/formats/BSONEachRow) (e outros formatos JSON)
* [TSKV](/docs/pt-BR/reference/formats/TabSeparated/TSKV)
* Todos os formatos com sufixos WithNames/WithNamesAndTypes
* [MySQLDump](/docs/pt-BR/reference/formats/MySQLDump)
* [Native](/docs/pt-BR/reference/formats/Native)

Valores possíveis:

* 0 — Desabilitado.
* 1 — Habilitado.

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

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

Se habilitado, o ClickHouse tentará inferir o tipo `Date` a partir de campos do tipo string na inferência de esquema para formatos de texto. Se todos os campos de uma coluna nos dados de entrada forem convertidos com sucesso em datas, o tipo resultante será `Date`; se pelo menos um campo não for convertido em data, o tipo resultante será `String`.

Habilitado por padrão.

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

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

Se estiver habilitado, o ClickHouse tentará inferir o tipo `DateTime64` a partir de campo do tipo string na inferência de esquema para formatos de texto. Se todos os campos de uma coluna nos dados de entrada forem convertidos com sucesso como datetimes, o tipo resultante será `DateTime64`; se pelo menos um campo não for convertido como datetime, o tipo resultante será `String`.

Habilitado por padrão.

<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": "Permite inferir DateTime em vez de DateTime64 em formatos de dados"}]}]} />

Quando `input_format_try_infer_datetimes` estiver habilitado, infira apenas tipos DateTime64, e não tipos 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": "Não inferir números de ponto flutuante em notação exponencial por padrão"}]}]} />

Tenta inferir números de ponto flutuante em notação exponencial durante a inferência de esquema em formatos de texto (exceto JSON, em que números com expoente são sempre inferidos)

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

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

Se estiver habilitado, o ClickHouse tentará inferir inteiros em vez de números de ponto flutuante na inferência de esquema para formatos de texto. Se todos os números na coluna dos dados de entrada forem inteiros, o tipo resultante será `Int64`; se pelo menos um número for de ponto flutuante, o tipo resultante será `Float64`.

Habilitado por padrão.

<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": "Tenta inferir o tipo Variant em formatos de texto quando houver mais de um tipo possível para elementos de coluna/array"}]}]} />

Se habilitado, o ClickHouse tentará inferir o tipo [`Variant`](/docs/pt-BR/reference/data-types/variant) na inferência de esquema para formatos de texto quando houver mais de um tipo possível para elementos de coluna/array.

Valores possíveis:

* 0 — Habilitado.
* 1 — Habilitado.

<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" />

Ignore colunas extras na entrada TSV (se o arquivo tiver mais colunas do que o esperado) e trate campos ausentes na entrada TSV como valores padrão

<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": "Habilita a leitura de finais de linha CRLF nos formatos TSV"}]}]} />

Se estiver definido como true, a função file lerá o formato TSV usando \r\n em vez de \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": "Detectar cabeçalho com nomes e tipos no formato TSV por padrão"}]}]} />

Detecta automaticamente o cabeçalho com nomes e tipos no formato TSV

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

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

Trata campos vazios na entrada em TSV como valores padrão.

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

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

Tratar os valores enum inseridos em formatos TSV como índices de enum.

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

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

Ignora o número especificado de linhas no início dos dados no formato TSV

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

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

Ignora linhas vazias no final no formato 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" />

Usa alguns ajustes e heurísticas para inferir o esquema no formato TSV

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

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

No formato Values: ao fazer o parsing e interpretar expressões usando um modelo, verifique o tipo real do literal para evitar possíveis problemas de overflow e de precisão.

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

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

Para o formato Values: se o campo não puder ser analisado pelo parser de streaming, execute o parser SQL, deduza o modelo da expressão SQL, tente analisar todas as linhas usando o modelo e, em seguida, interprete a expressão para todas as linhas.

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

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

Para o formato Values: se o campo não puder ser analisado pelo parser de streaming, execute o parser SQL e tente interpretá-lo como uma expressão 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": "Habilita o uso do cabeçalho com nomes em formatos com os sufixos WithNames/WithNamesAndTypes"}]}]} />

Habilita ou desabilita a verificação da ordem das colunas ao inserir dados.

Para melhorar o desempenho da inserção, recomendamos desabilitar essa verificação se você tiver certeza de que a ordem das colunas nos dados de entrada é a mesma da tabela de destino.

Formatos compatíveis:

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

Valores possíveis:

* 0 — Desabilitado.
* 1 — Habilitado.

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

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

Controla se o parser de formato deve verificar se os tipos de dados dos dados de entrada correspondem aos tipos de dados da tabela de destino.

Formatos compatíveis:

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

Valores possíveis:

* 0 — Desabilitado.
* 1 — Habilitado.
