> ## 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 de schema_inference_*

> Ajustes de formato de ClickHouse en el grupo generado schema_inference_*.

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="schema_inference_hints">
  ## schema\_inference\_hints
</div>

La lista de nombres de columnas y tipos que se usarán como pistas para la inferencia de esquemas en formatos sin esquema.

Ejemplo:

Consulta:

```sql theme={null}
desc format(JSONEachRow, '{"x" : 1, "y" : "String", "z" : "0.0.0.0" }') settings schema_inference_hints='x UInt8, z IPv4';
```

Resultado:

```sql theme={null}
x   UInt8
y   Nullable(String)
z   IPv4
```

<Note>
  Si `schema_inference_hints` no tiene el formato correcto, o si contiene un error tipográfico, un tipo de dato incorrecto, etc., se ignorará por completo `schema&#95;inference&#95;hints`.
</Note>

<div id="schema_inference_make_columns_nullable">
  ## schema\_inference\_make\_columns\_nullable
</div>

<SettingsInfoBlock type="UInt64Auto" default_value="3" />

Controla si los tipos inferidos se definen como `Nullable` durante la inferencia de esquemas.
Valores posibles:

* 0 - el tipo inferido nunca será `Nullable` (use input\_format\_null\_as\_default para controlar qué hacer con los valores nulos en este caso),
* 1 - todos los tipos inferidos serán `Nullable`,
* 2 o `auto` - el tipo inferido será `Nullable` solo si la columna contiene `NULL` en una muestra que se analiza durante la inferencia de esquemas o si los metadatos del archivo contienen información sobre la nulabilidad de la columna,
* 3 - la nulabilidad del tipo inferido coincidirá con los metadatos del archivo si el formato la admite (p. ej., Parquet); en caso contrario, siempre será `Nullable` (p. ej., CSV).

<div id="schema_inference_make_json_columns_nullable">
  ## schema\_inference\_make\_json\_columns\_nullable
</div>

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

Controla si los tipos JSON inferidos se convierten en `Nullable` durante la inferencia de esquemas.
Si esta configuración está habilitada junto con schema\_inference\_make\_columns\_nullable, el tipo JSON inferido será `Nullable`.

<div id="schema_inference_mode">
  ## schema\_inference\_mode
</div>

<SettingsInfoBlock type="SchemaInferenceMode" default_value="default" />

Modo de inferencia de esquemas. 'default': asume que todos los archivos tienen el mismo esquema y que este puede inferirse a partir de cualquier archivo; 'union': los archivos pueden tener esquemas diferentes y el esquema resultante debe ser una unión de los esquemas de todos los archivos
