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

# ajustes de formato input_format_*

> Ajustes de formato de ClickHouse en el grupo generado 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"
  }}>Predeterminado</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{default_value}</div>
      {changeable_without_restart && <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>
          Modificable sin reiniciar
        </div>}
      {changeable_without_restart && <div style={{
    overflowWrap: "anywhere"
  }}>
          {changeable_without_restart}
        </div>}
    </div>;
};

Estos ajustes se generan automáticamente a partir del [código fuente](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" />

Establece el número máximo de errores aceptables al leer en formatos de texto (CSV, TSV, etc.).

El valor predeterminado es 0.

Úselo siempre junto con `input_format_allow_errors_ratio`.

Si se produce un error al leer filas, pero el contador de errores sigue siendo inferior a `input_format_allow_errors_num`, ClickHouse ignora la fila y pasa a la siguiente.

Si se superan tanto `input_format_allow_errors_num` como `input_format_allow_errors_ratio`, ClickHouse lanza una excepción.

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

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

Establece el porcentaje máximo de errores permitidos al leer formatos de texto (CSV, TSV, etc.).
El porcentaje de errores se define como un número de coma flotante entre 0 y 1.

El valor predeterminado es 0.

Úselo siempre junto con `input_format_allow_errors_num`.

Si se produce un error al leer filas, pero el contador de errores sigue siendo inferior a `input_format_allow_errors_ratio`, ClickHouse ignora la fila y pasa a la siguiente.

Si se superan tanto `input_format_allow_errors_num` como `input_format_allow_errors_ratio`, ClickHouse lanza una excepción.

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

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

Permite realizar reposicionamientos (o lecturas por rangos) al leer formatos de entrada ORC, Parquet y Arrow.
Cuando está habilitado y el origen lo admite (por ejemplo, un archivo local, S3 o HTTP con compatibilidad con rangos y tamaño conocido),
ClickHouse puede leer solo los rangos de bytes necesarios y usar menos memoria.
Cuando está deshabilitado, o si el origen no admite reposicionamientos (por ejemplo, si no se conoce el tamaño del archivo o el flujo no permite reposicionamiento),
algunos lectores pueden recurrir a cargar el archivo completo en memoria.
Habilitado de forma predeterminada.

<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 por defecto columnas ausentes en archivos Arrow"}]}]} />

Permite columnas ausentes al leer formatos de entrada Arrow

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

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

No distingue entre mayúsculas y minúsculas al hacer coincidir las columnas de Arrow con las columnas de 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" />

Omitir columnas con tipos no compatibles durante la inferencia de esquema para el 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": "Nueva configuración para usar el lector nativo de ClickHouse para los formatos Arrow y ArrowStream en lugar del lector basado en la biblioteca Apache Arrow."}]}]} />

Use el lector nativo de ClickHouse para los formatos Arrow y ArrowStream en lugar del lector basado en la 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 el formato Avro/AvroConfluent: cuando no se encuentra un campo en el esquema, use el valor predeterminado en lugar de generar un error

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

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

Para el formato Avro/AvroConfluent: insertar el valor predeterminado en caso de NULL y columna no 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": "Se añadió una nueva configuración para permitir leer los nombres de tipo en formato binario en el formato de entrada RowBinaryWithNamesAndTypes"}]}]} />

Leer los tipos de datos en formato binario en lugar de los nombres de tipo en el 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": "Añade una nueva configuración para controlar el número máximo de nodos de tipo al decodificar tipos binarios. Protege frente a entradas maliciosas."}]}]} />

Número máximo de nodos de tipo al decodificar tipos binarios (no la profundidad, sino la cantidad total). `Map(String, UInt32)` = 3 nodos. Protege frente a 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": "Nueva configuración para leer valores del tipo JSON como cadenas JSON en el formato de entrada RowBinary"}]}]} />

Lee los valores del tipo de dato [JSON](/docs/es/reference/data-types/newjson) como valores [String](/docs/es/reference/data-types/string) JSON en el 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" />

Omite los campos con tipos no compatibles durante la inferencia de esquema para el 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" />

Omite las columnas con tipos no compatibles durante la inferencia de esquema para el 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": "Primero hace coincidir los nombres de columna de entrada de forma sensible a mayúsculas y minúsculas y, si no encuentra coincidencias, recurre a una coincidencia no sensible a mayúsculas y minúsculas, en lugar de exigir una coincidencia exacta de mayúsculas y minúsculas."}]}, {"id": "row-2","items": [{"label": "26.4"},{"label": "match_case"},{"label": "Nueva opción de configuración."}]}]} />

Define el modo de coincidencia de nombres de columna al ingestar datos mediante varios formatos (incluidos, entre otros, JSONEachRow, CSVWithNames, JSONColumns, BSONEachRow y RowBinaryWithNames).
Modos compatibles:

* match\_case: coincidencia sensible a mayúsculas y minúsculas
  * ignore\_case: coincidencia no sensible a mayúsculas y minúsculas
  * auto: primero intenta hacer coincidir de forma sensible a mayúsculas y minúsculas; si falla, intenta hacerlo de forma no sensible a mayúsculas y 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": "Nueva configuración para permitir analizar y procesar los datos restantes en el búfer si la conexión se cierra de forma inesperada"}]}]} />

Cuando esta opción está habilitada, si la conexión se cierra de forma inesperada, los datos que queden en el búfer se analizarán y procesarán en lugar de tratarse como un error

<Note>
  Al habilitar esta opción, se desactiva el análisis en paralelo y la deduplicación deja de ser posible
</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" />

Si se establece como true, se permitirá \r al final de la línea sin que esté seguido de

<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 las columnas adicionales en la entrada CSV (si el archivo tiene más columnas de las previstas) y trata los campos que faltan en la entrada CSV como valores predeterminados

<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 espacios y tabuladores (\t) como delimitador de campos en las cadenas CSV

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

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

Al leer Array desde CSV, se espera que sus elementos se hayan serializado como CSV anidado y luego se hayan colocado en una cadena. Ejemplo: "\[""Hello"", ""world"", ""42"""" TV""]". Se pueden omitir los corchetes alrededor del array.

<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": "Se añadió una nueva forma de interpretar las tuplas en formato CSV."}]}, {"id": "row-2","items": [{"label": "24.3"},{"label": "1"},{"label": "Se añadió una nueva forma de interpretar las tuplas en formato CSV."}]}]} />

Si se establece en true, las columnas independientes escritas en formato CSV pueden deserializarse en una columna 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": "Detecta el encabezado en formato CSV de forma predeterminada"}]}]} />

Detecta automáticamente el encabezado con nombres y tipos en formato CSV

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

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

Considera los campos vacíos de la entrada CSV como valores predeterminados.

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

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

Trata los valores enum insertados en formatos CSV como índices de 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": "Nueva configuración para leer un valor ausente de `Nullable(String)` desde CSV como una cadena vacía en lugar de NULL."}]}]} />

Controla cómo se lee `Nullable(String)` cuando hay un valor ausente en un CSV. Un valor ausente es un espacio vacío entre/antes/después de comas, no delimitado por comillas. Si esta configuración está habilitada, independientemente del valor de `input_format_csv_empty_as_default`, el valor ausente de `Nullable(String)` se interpretará como una `String` vacía, no como NULL.

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

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

Omitir el número especificado de líneas al comienzo de los datos en 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" />

Omite las líneas vacías finales en formato CSV

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

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

Elimina los espacios y tabulaciones (\t) al principio y al final de las cadenas 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" />

Si está habilitado, durante la inferencia de esquema, ClickHouse intentará inferir números a partir de campos de texto.
Puede resultar útil si los datos CSV contienen números UInt64 entre comillas.

Deshabilitado de forma predeterminada.

<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": "Se añadió una nueva forma de interpretar las tuplas en formato CSV."}]}, {"id": "row-2","items": [{"label": "24.3"},{"label": "1"},{"label": "Se añadió una nueva forma de interpretar las tuplas en formato CSV."}]}]} />

Interpreta las tuplas entrecomilladas en los datos de entrada como un valor de 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 algunos ajustes y heurísticas para inferir el esquema del 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 establecer el valor predeterminado de una columna cuando falla la deserialización de un campo CSV debido a un valor no vá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" />

Ignorar las columnas adicionales en la entrada CustomSeparated (si el archivo tiene más columnas de las esperadas) y tratar los campos que faltan en la entrada CustomSeparated como valores predeterminados

<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": "Detectar de forma predeterminada el encabezado con nombres y tipos en el formato CustomSeparated"}]}]} />

Detecta automáticamente el encabezado con nombres y tipos en el 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" />

Omite las líneas vacías finales en el 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 el cálculo de expresiones predeterminadas complejas para campos omitidos en algunos formatos de entrada, ya que este debería ser el comportamiento esperado"}]}]} />

Al realizar consultas `INSERT`, sustituye los valores omitidos de las columnas de entrada por los valores predeterminados de las columnas correspondientes. Esta opción se aplica a los formatos [JSONEachRow](/docs/es/reference/formats/JSON/JSONEachRow) (y otros formatos JSON), [CSV](/docs/es/reference/formats/CSV/CSV), [TabSeparated](/docs/es/reference/formats/TabSeparated/TabSeparated), [TSKV](/docs/es/reference/formats/TabSeparated/TSKV), [Parquet](/docs/es/reference/formats/Parquet/Parquet), [Arrow](/docs/es/reference/formats/Arrow/Arrow), [Avro](/docs/es/reference/formats/Avro/Avro), [ORC](/docs/es/reference/formats/ORC), [Native](/docs/es/reference/formats/Native), y a los formatos con los sufijos `WithNames`/`WithNamesAndTypes`.

<Note>
  Cuando esta opción está habilitada, se envían metadatos de tabla ampliados del servidor al client. Esto consume recursos de cómputo adicionales en el servidor y puede reducir el rendimiento.
</Note>

Valores posibles:

* 0 — Deshabilitado.
* 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": "Desactiva los valores predeterminados del tipo para los campos omitidos cuando sea necesario"}]}]} />

Forzar la inicialización de los campos omitidos con 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": "Nueva configuración que controla el tratamiento de los tipos de geometría GeoJSON que no pueden representarse en el tipo Geometry (GeometryCollection, MultiPoint)"}]}]} />

Controla qué sucede cuando un tipo de geometría `GeoJSON` válido que no puede representarse en el tipo `Geometry` de ClickHouse (como `GeometryCollection` o `MultiPoint`) debe almacenarse en la columna `geometry` al leer la entrada `GeoJSON`.

Posibles valores:

* `'throw'` (por defecto) — lanzar una excepción.
* `'null'` — insertar un valor `NULL` en la columna `geometry` y continuar el procesamiento.

Esto solo se aplica cuando la columna `geometry` está materializada. Cuando no es una columna de salida solicitada, esa geometría se valida para comprobar que está bien formada, pero no activa este tratamiento.

<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 las columnas adicionales en la entrada de Hive Text (si el archivo tiene más columnas de las esperadas) y trata los campos que faltan en la entrada de Hive Text como valores predeterminados."}]}]} />

Ignora las columnas adicionales en la entrada de Hive Text (si el archivo tiene más columnas de las esperadas) y trata los campos que faltan en la entrada de Hive Text como valores predeterminados

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

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

Delimitador entre los elementos de una colección (Array o Map) en 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 los campos de 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 cada par clave-valor de un mapa en Hive Text File

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

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

Habilita o deshabilita la inserción de datos JSON con objetos anidados.

Formatos compatibles:

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

Posibles valores:

* 0 — Deshabilitado.
* 1 — Habilitado.

Consulte también:

* [Uso de estructuras Nested](/docs/es/guides/clickhouse/data-formats/json/formats#accessing-nested-json-objects) con el 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" />

La deserialización de IPv4 usará valores predeterminados en lugar de lanzar una excepción en caso de error de conversión.

Deshabilitado de forma predeterminada.

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

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

La deserialización de IPV6 usará valores predeterminados en lugar de generar una excepción si se produce un error de conversión.

Desactivado de forma predeterminada.

<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 un número variable de columnas por fila en los formatos de entrada JSONCompact/JSONCompactEachRow.
Ignora las columnas adicionales en las filas que tienen más columnas de las esperadas y usa los valores predeterminados para las columnas que faltan.

Deshabilitado de forma predeterminada.

<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": "Permite, de forma predeterminada, elementos ausentes en objetos JSON al leer tuplas con nombre"}]}]} />

Inserta valores predeterminados para los elementos ausentes en el objeto JSON al analizar una tupla con nombre.
Esta configuración solo funciona cuando está habilitada la configuración `input_format_json_named_tuples_as_objects`.

Habilitada de forma predeterminada.

<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": "Se añadió una nueva configuración que permite tratar los campos vacíos en la entrada JSON como valores predeterminados."}]}]} />

Cuando se habilita, los campos vacíos de la entrada JSON se reemplazan por valores predeterminados. Para las expresiones predeterminadas complejas, también debe habilitarse `input_format_defaults_for_omitted_fields`.

Valores posibles:

* 0 — Deshabilitado.
* 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": "Mejora el análisis de objetos JSON como tuplas con nombre"}]}]} />

Ignora las claves desconocidas en los objetos JSON para las tuplas con nombre.

Habilitado de forma predeterminada.

<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 los campos innecesarios y no los analiza. Al habilitar esta opción, es posible que no se generen excepciones en cadenas JSON con formato no válido o con campos duplicados"}]}]} />

Ignora los campos innecesarios y no los analiza. Al habilitar esta opción, es posible que no se generen excepciones en cadenas JSON con formato no válido o con 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) de forma predeterminada para arrays JSON con valores de distintos tipos de datos"}]}]} />

Si está habilitado, durante la inferencia de esquemas, ClickHouse usará el tipo Array(Dynamic) para los arrays JSON con valores de distintos tipos de datos.

Ejemplo:

```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 de forma predeterminada.

<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 en los formatos JSON de forma predeterminada"}]}]} />

Permite usar el tipo String para claves JSON que contienen solo `Null`/`{}`/`[]` en la muestra de datos durante la inferencia de esquemas.
En los formatos JSON, cualquier valor puede leerse como String, y se pueden evitar errores 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 la inferencia de esquemas
usando el tipo String para claves con tipos desconocidos.

Ejemplo:

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

Habilitado de forma predeterminada.

<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": "Nueva configuración"}]}]} />

Deserializa las columnas Map como arrays JSON de tuplas.

Desactivado de forma predeterminada.

<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": "En versiones anteriores no tenía límite, pero eso no era seguro."}]}]} />

Profundidad máxima de un campo en JSON. No es un límite estricto y no es necesario aplicarlo con exactitud.

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

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

Interpreta las columnas de tuplas con nombre como objetos JSON.

Activado de forma predeterminada.

<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 leer arrays como cadenas en formatos JSON de forma predeterminada"}]}]} />

Permite interpretar arrays JSON como cadenas en los formatos de entrada JSON.

Ejemplo:

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

Activado por defecto.

<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 booleanos como números en formatos de entrada JSON.

Habilitado de forma predeterminada.

<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 leer booleanos como cadenas en formatos JSON de forma predeterminada"}]}]} />

Permite interpretar booleanos como cadenas en formatos de entrada JSON.

Habilitado de forma predeterminada.

<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 leer números como cadenas en formatos JSON de forma predeterminada"}]}]} />

Permite interpretar números como cadenas en formatos de entrada JSON.

Está habilitado de forma predeterminada.

<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 la lectura de objetos JSON anidados como cadenas mientras el tipo Object siga siendo experimental"}]}]} />

Permite procesar objetos JSON como cadenas en los formatos de entrada JSON.

Ejemplo:

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

Activado de forma predeterminada.

<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 guardar cadenas JSON con secuencias de escape no válidas"}]}]} />

Genera una excepción si una cadena JSON contiene una secuencia de escape no válida en los formatos de entrada JSON. Si se desactiva, las secuencias de escape no válidas permanecerán tal cual en los datos.

Habilitado de forma predeterminada.

<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": "Intenta inferir tuplas con nombre a partir de objetos JSON de forma predeterminada"}]}]} />

Si está habilitado, durante la inferencia de esquema, ClickHouse intentará inferir una tupla con nombre a partir de objetos JSON.
La tupla con nombre resultante contendrá todos los elementos de todos los objetos JSON correspondientes de los datos de ejemplo.

Ejemplo:

```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 defecto.

<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": "No inferir números a partir de cadenas en formatos JSON de forma predeterminada para evitar posibles errores de análisis"}]}]} />

Si está habilitado, durante la inferencia de esquema ClickHouse intentará inferir números a partir de campos de cadena.
Puede resultar útil si los datos JSON contienen números UInt64 entre comillas.

Deshabilitado de forma predeterminada.

<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 el tipo String para rutas ambiguas durante la inferencia de tuplas con nombre a partir de objetos JSON"}]}]} />

Usa el tipo String en lugar de generar una excepción cuando hay rutas ambiguas en objetos JSON durante la inferencia de tuplas con nombre

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

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

Para los formatos de entrada JSON/JSONCompact/JSONColumnsWithMetadata, si esta configuración se establece en 1,
los tipos indicados en los metadatos de los datos de entrada se compararán con los tipos de las columnas correspondientes de la tabla.

Está habilitado de forma predeterminada.

<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": "Nueva configuración para limitar el tamaño en bytes de los bloques creados por el formato de entrada"}]}]} />

Limita, en bytes, el tamaño de los bloques formados durante el análisis de datos en los formatos de entrada. Se utiliza en los formatos de entrada basados en filas cuando el bloque se forma en el lado de ClickHouse.
0 significa que no hay límite en 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": "Nueva configuración para limitar el tiempo máximo de espera en milisegundos antes de que el formato de entrada emita un bloque"}]}]} />

Limita el tiempo máximo de espera, en milisegundos, antes de emitir un bloque durante el análisis en formatos de entrada basados en filas. 0 significa que no hay límite.

<Note>
  Esta opción solo funciona si `input_format_connection_handling` está habilitado. Establecer un valor también desactiva el análisis en paralelo y hace imposible la deduplicación.
</Note>

<Note>
  Para las inserciones en streaming, también debe establecer `min_insert_block_size_rows=0` y `min_insert_block_size_bytes=0`. De lo contrario, los bloques analizados pueden seguir acumulándose en memoria durante la etapa de compactación de bloques hasta que se alcancen esos umbrales, lo que impide que las inserciones se realicen a tiempo.
</Note>

**Ejemplo: transmitir a ClickHouse los cambios recientes de Wikipedia**

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

La cantidad máxima de datos, en bytes, que se leerá para la inferencia 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" />

El número máximo de filas de datos que se pueden leer para la inferencia 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" />

El número de columnas de los datos MsgPack insertados. Se utiliza para la inferencia automática de esquema a partir de los datos.

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

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

Hace coincidir las columnas de la tabla en MySQL dump y las columnas de la tabla de ClickHouse por nombre

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

Nombre de la tabla del volcado de MySQL de la que se leerán los datos

<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": "Permitir la conversión de tipos en el formato de entrada Native"}]}]} />

Permitir la conversión de tipos de datos en el 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": "Se añadió una nueva configuración para permitir leer los nombres de tipo en formato binario en el formato de salida Native"}]}]} />

Lee los tipos de datos en formato binario en lugar de los nombres de tipo en el 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 insertar NULL como valor predeterminado en los formatos de entrada de forma predeterminada"}]}]} />

Habilita o deshabilita la inicialización de los campos [NULL](/docs/es/reference/syntax#literals) con [valores predeterminados](/docs/es/reference/statements/create/table#default_values), si el tipo de dato de estos campos no es [Nullable](/docs/es/reference/data-types/nullable).
Si el tipo de columna no es Nullable y esta configuración está deshabilitada, insertar `NULL` provoca una excepción. Si el tipo de columna es Nullable, los valores `NULL` se insertan tal cual, independientemente de esta configuración.

Esta configuración se aplica a la mayoría de los formatos de entrada.

Para expresiones predeterminadas complejas, `input_format_defaults_for_omitted_fields` también debe estar habilitado.

Valores posibles:

* 0 — Insertar `NULL` en una columna no Nullable provoca una excepción.
* 1 — Los campos `NULL` se inicializan con los valores predeterminados de la columna.

<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 por defecto columnas ausentes en archivos ORC"}]}]} />

Permite columnas ausentes al leer formatos de entrada ORC

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

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

No distingue entre mayúsculas y minúsculas al hacer coincidir las columnas ORC con las columnas de 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": "Trata las columnas codificadas con diccionario ORC como columnas LowCardinality al leer archivos ORC"}]}]} />

Trata las columnas codificadas con diccionario ORC como columnas LowCardinality al leer archivos ORC.

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

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

Al leer archivos ORC, omite stripes o row groups completos en función de las expresiones WHERE/PREWHERE, las estadísticas mín./máx. o el bloom filter de los metadatos de 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": "El nombre de la zona horaria del lector de filas ORC; la zona horaria predeterminada del lector de filas ORC es GMT."}]}]} />

El nombre de la zona horaria del lector de filas ORC; la zona horaria predeterminada del lector de filas ORC es GMT.

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

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

Tamaño del lote al leer las stripes de 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" />

Omite las columnas con tipos no compatibles durante la inferencia de esquema para el formato ORC

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

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

Usar una implementación más rápida del decodificador ORC.

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

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

Habilita o deshabilita el análisis en paralelo de formatos de datos conservando el orden. Compatible solo con los formatos [TabSeparated (TSV)](/docs/es/reference/formats/TabSeparated/TabSeparated), [TSKV](/docs/es/reference/formats/TabSeparated/TSKV), [CSV](/docs/es/reference/formats/CSV/CSV) y [JSONEachRow](/docs/es/reference/formats/JSON/JSONEachRow).

Valores posibles:

* 1 — Habilitado.
* 0 — Deshabilitado.

<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": "Una nueva configuración para usar columnas geo en un archivo Parquet"}]}]} />

Usa el analizador de columnas geo para convertir Array(UInt8) en 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 columnas ausentes en archivos Parquet de forma predeterminada"}]}]} />

Permitir columnas ausentes al leer formatos de entrada 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": "Al leer archivos Parquet, se omiten grupos de filas completos en función de las expresiones WHERE\/PREWHERE y del filtro bloom en los metadatos de Parquet."}]}, {"id": "row-2","items": [{"label": "24.10"},{"label": "0"},{"label": "Al leer archivos Parquet, se omiten grupos de filas completos en función de las expresiones WHERE\/PREWHERE y del filtro bloom en los metadatos de Parquet."}]}]} />

Al leer archivos Parquet, se omiten grupos de filas completos en función de las expresiones WHERE y del filtro bloom en los metadatos de Parquet.

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

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

No distinguir entre mayúsculas y minúsculas al hacer coincidir las columnas de Parquet con las columnas de 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": "Al leer archivos Parquet, interpretar las columnas JSON como columnas JSON de ClickHouse."}]}]} />

Al leer archivos Parquet, interpretar las columnas JSON como columnas JSON de 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 la precarga de grupos de filas durante el análisis de Parquet. Actualmente, solo el análisis en un solo hilo admite la precarga."}]}]} />

Habilita la precarga de grupos de filas durante el análisis de Parquet. Actualmente, solo el análisis en un solo hilo admite la precarga.

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

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

Al leer archivos Parquet, se omiten grupos de filas completos según las expresiones WHERE/PREWHERE y las estadísticas mín./máx. en los metadatos de 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" />

Cantidad mínima de bytes necesaria para que una lectura local (archivo) haga seek, en lugar de leer con ignore, en el 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 el tipo DateTime64(..., 'UTC'), más apropiado, para el tipo Parquet 'local time without timezone'."}]}]} />

Determina el tipo de dato que usa la inferencia de esquema para los timestamps de Parquet con isAdjustedToUTC=false. Si es true: DateTime64(..., 'UTC'); si es false: DateTime64(...). Ninguno de los dos comportamientos es del todo correcto, ya que ClickHouse no tiene un tipo de dato para la hora local según el reloj. Aunque resulte poco intuitivo, 'true' probablemente sea la opción menos incorrecta, porque al dar formato al timestamp 'UTC' como String se obtiene una representación de la hora local correcta.

<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 el tamaño del bloque para el lector de Parquet."}]}]} />

Tamaño máximo del bloque para el lector 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": "Nuevo ajuste"}]}]} />

Límite aproximado de memoria para el lector de Parquet v3. Limita cuántos grupos de filas o columnas pueden leerse en paralelo. Al leer varios archivos en una sola consulta, el límite se aplica al uso total de memoria de todos esos archivos.

<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": "Nueva configuración"}]}]} />

Programa las prelecturas de forma más agresiva si el uso de memoria está por debajo del umbral. Puede ser útil, por ejemplo, si hay muchos filtros bloom pequeños que deben leerse a través de la red.

<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": "Nueva configuración (sin efecto cuando input_format_parquet_use_native_reader_v3 está deshabilitado)"}]}]} />

Omite páginas usando los valores mín./máx. del índice de columna.

<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": "Promedio de bytes por bloque generado por el lector de Parquet."}]}]} />

Promedio de bytes por bloque generado por el lector 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 el lector de Parquet reordene las filas para mejorar el paralelismo."}]}]} />

Evita reordenar las filas al leer archivos Parquet. No se recomienda, ya que el orden de las filas por lo general no está garantizado y otras partes del pipeline de consulta pueden alterarlo. Usa `ORDER BY _row_number` en su lugar.

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

Omitir las columnas con tipos no compatibles durante la inferencia del esquema para el 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": "Nueva opción (sin efecto cuando input_format_parquet_use_native_reader_v3 está deshabilitado)"}]}]} />

Pequeño ajuste en la forma de leer páginas de un archivo Parquet cuando no se usa el filtrado 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": "Nueva opción."}]}]} />

Verifica las sumas de comprobación de las páginas al leer archivos Parquet.

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

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

Habilita el uso de las envolturas de Google para columnas normales no anidadas; por ejemplo, google.protobuf.StringValue 'str' para la columna String 'str'. En las columnas Nullable, las envolturas vacías se interpretan como valores predeterminados y las ausentes como 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": "Nueva configuración"}]}]} />

Indica qué campo de Protobuf oneof se encontró estableciendo un valor enum en una columna 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" />

Omitir los campos con tipos no compatibles durante la inferencia de esquema del formato Protobuf

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

Ruta del archivo que se utiliza para registrar errores al leer 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": "Optimiza la lectura de subconjuntos de columnas para algunos formatos de entrada"}]}]} />

Habilita o deshabilita la omisión de datos adicionales durante la inserción.

Al escribir datos, ClickHouse lanza una excepción si los datos de entrada contienen columnas que no existen en la tabla de destino. Si la omisión está habilitada, ClickHouse no inserta los datos adicionales y no lanza ninguna excepción.

Formatos compatibles:

* [JSONEachRow](/docs/es/reference/formats/JSON/JSONEachRow) (y otros formatos JSON)
* [BSONEachRow](/docs/es/reference/formats/BSONEachRow) (y otros formatos JSON)
* [TSKV](/docs/es/reference/formats/TabSeparated/TSKV)
* Todos los formatos con sufijos WithNames/WithNamesAndTypes
* [MySQLDump](/docs/es/reference/formats/MySQLDump)
* [Native](/docs/es/reference/formats/Native)

Valores posibles:

* 0 — Deshabilitado.
* 1 — Habilitado.

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

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

Si está habilitada, ClickHouse intentará inferir el tipo `Date` a partir de campos de texto durante la inferencia de esquema para formatos de texto. Si todos los campos de una columna de los datos de entrada se interpretan correctamente como fechas, el tipo resultante será `Date`; si al menos un campo no se interpreta como fecha, el tipo resultante será `String`.

Habilitada de forma predeterminada.

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

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

Si está habilitado, ClickHouse intentará inferir el tipo `DateTime64` a partir de campos de tipo cadena durante la inferencia de esquema para formatos de texto. Si todos los campos de una columna de los datos de entrada se analizaron correctamente como valores datetime, el tipo resultante será `DateTime64`; si al menos un campo no se analizó como datetime, el tipo resultante será `String`.

Habilitado de forma predeterminada.

<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 en lugar de DateTime64 en formatos de datos"}]}]} />

Cuando input\_format\_try\_infer\_datetimes está habilitado, infiere solo tipos DateTime64, no 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": "No inferir números de punto flotante en notación exponencial de forma predeterminada"}]}]} />

Intenta inferir números de punto flotante en notación exponencial durante la inferencia del esquema en formatos de texto (excepto en JSON, donde los números con exponente siempre se infieren)

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

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

Si está habilitado, ClickHouse intentará inferir enteros en lugar de números de coma flotante durante la inferencia del esquema para formatos de texto. Si todos los números de la columna de los datos de entrada son enteros, el tipo de resultado será `Int64`; si al menos uno es de coma flotante, el tipo de resultado será `Float64`.

Está habilitado de forma predeterminada.

<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": "Intenta inferir el tipo [`Variant`](/docs/reference/data-types/variant) durante la inferencia de esquema en formatos de texto cuando hay más de un tipo posible para los elementos de columnas/arrays"}]}]} />

Si está habilitado, ClickHouse intentará inferir el tipo [`Variant`](/docs/es/reference/data-types/variant) durante la inferencia de esquema en formatos de texto cuando haya más de un tipo posible para los elementos de columnas/arrays.

Valores posibles:

* 0 — Deshabilitado.
* 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" />

Ignora las columnas adicionales en la entrada TSV (si el archivo tiene más columnas de las esperadas) y trata los campos que faltan en la entrada TSV como valores predeterminados.

<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 la lectura de terminaciones de línea CRLF con formatos TSV"}]}]} />

Si se establece en true, la función file leerá el formato TSV con \r\n en lugar 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": "Detecta el encabezado en formato TSV de forma predeterminada"}]}]} />

Detecta automáticamente el encabezado con nombres y tipos en formato TSV

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

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

Trata los campos vacíos de la entrada TSV como valores predeterminados.

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

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

Trata los valores de enum insertados en 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" />

Omite el número especificado de líneas al principio de los datos en 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" />

Omitir las líneas vacías al final en 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" />

Utiliza ciertos ajustes y heurísticas para inferir el esquema en el 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" />

Para el formato Values: al analizar e interpretar expresiones con Template, compruebe el tipo real del literal para evitar posibles problemas de desbordamiento y precisión.

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

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

Para el formato Values: si el campo no puede analizarse con el analizador de streaming, se ejecuta el analizador de SQL, se deduce la plantilla de la expresión SQL, se intenta analizar todas las filas usando la plantilla y luego se interpreta la expresión para todas las filas.

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

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

Para el formato Values: si el campo no puede analizarse con el analizador de streaming, ejecute el analizador de SQL e intente interpretarlo como una expresión 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": "Activa el uso de un encabezado con nombres para los formatos con sufijos WithNames\/WithNamesAndTypes"}]}]} />

Activa o desactiva la comprobación del orden de las columnas al insertar datos.

Para mejorar el rendimiento al insertar, recomendamos desactivar esta comprobación si está seguro de que el orden de las columnas de los datos de entrada es el mismo que en la tabla de destino.

Formatos compatibles:

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

Valores posibles:

* 0 — Desactivado.
* 1 — Activado.

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

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

Controla si el analizador del formato debe comprobar que los tipos de datos de entrada coincidan con los de la tabla de destino.

Formatos compatibles:

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

Valores posibles:

* 0 — Deshabilitado.
* 1 — Habilitado.
