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

# paramètres de format input_format_*

> Paramètres de format de ClickHouse dans le groupe généré 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
  }}>Type</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{type}</div>
      <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>Par défaut</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{default_value}</div>
      {changeable_without_restart && <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>
          Modifiable sans redémarrage
        </div>}
      {changeable_without_restart && <div style={{
    overflowWrap: "anywhere"
  }}>
          {changeable_without_restart}
        </div>}
    </div>;
};

Ces paramètres sont générés automatiquement à partir du [code source](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" />

Définit le nombre maximal d'erreurs tolérées lors de la lecture de formats texte (CSV, TSV, etc.).

La valeur par défaut est 0.

Utilisez-le toujours avec `input_format_allow_errors_ratio`.

Si une erreur se produit lors de la lecture de lignes, mais que le compteur d'erreurs reste inférieur à `input_format_allow_errors_num`, ClickHouse ignore la ligne et passe à la suivante.

Si les seuils de `input_format_allow_errors_num` et de `input_format_allow_errors_ratio` sont tous deux dépassés, ClickHouse lève une exception.

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

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

Définit le pourcentage maximal d'erreurs autorisé lors de la lecture de formats textuels (CSV, TSV, etc.).
Le pourcentage d'erreurs est défini sous la forme d'un nombre à virgule flottante compris entre 0 et 1.

La valeur par défaut est 0.

Utilisez-le toujours avec `input_format_allow_errors_num`.

Si une erreur se produit lors de la lecture de lignes, mais que le compteur d'erreurs reste inférieur à `input_format_allow_errors_ratio`, ClickHouse ignore la ligne et passe à la suivante.

Si `input_format_allow_errors_num` et `input_format_allow_errors_ratio` sont tous deux dépassés, ClickHouse lève une exception.

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

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

Autorise les repositionnements de lecture (ou les lectures par plage) lors de la lecture des formats d'entrée ORC, Parquet et Arrow.
Lorsqu'elle est activée et que la source le permet (par ex. fichier local, S3, HTTP avec prise en charge des plages et taille connue),
ClickHouse peut lire uniquement les plages d'octets nécessaires et utiliser moins de mémoire.
Lorsqu'elle est désactivée, ou lorsque la source ne prend pas en charge les repositionnements de lecture (par ex. taille de fichier inconnue ou flux ne permettant pas le repositionnement),
certains lecteurs peuvent revenir au chargement du fichier entier en mémoire.
Activée par défaut.

<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": "Autoriser par défaut les colonnes manquantes dans les fichiers Arrow"}]}]} />

Autoriser les colonnes manquantes lors de la lecture des formats d'entrée Arrow

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

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

Ignorer la casse lors de la correspondance entre les colonnes Arrow et les colonnes 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" />

Ignorer les colonnes dont les types ne sont pas pris en charge lors de l’inférence du schéma pour le format 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": "Nouveau paramètre permettant d’utiliser le lecteur natif de ClickHouse pour les formats Arrow et ArrowStream au lieu de la bibliothèque Apache Arrow."}]}]} />

Utilisez le lecteur natif de ClickHouse pour les formats Arrow et ArrowStream à la place de celui basé sur la bibliothèque Apache Arrow.

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

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

Pour le format Avro/AvroConfluent : lorsque le champ est introuvable dans le schéma, utiliser la valeur par défaut au lieu de renvoyer une erreur

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

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

Pour le format Avro/AvroConfluent : insérer la valeur par défaut en cas de NULL et de colonne non 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": "Ajout d'un nouveau paramètre permettant de lire les noms de types au format binaire dans le format d'entrée RowBinaryWithNamesAndTypes"}]}]} />

Lire les types de données au format binaire plutôt que les noms de types dans le format d'entrée 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": "Ajout d’un nouveau paramètre pour contrôler le nombre maximal de nœuds de type lors du décodage des types binaires. Protège contre les entrées malveillantes."}]}]} />

Nombre maximal de nœuds de type lors du décodage des types binaires (il ne s’agit pas de la profondeur, mais du nombre total). `Map(String, UInt32)` = 3 nœuds. Protège contre les entrées malveillantes. 0 = illimité.

<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": "Ajout d’un nouveau paramètre permettant de lire les valeurs de type JSON en tant que chaînes JSON dans le format d’entrée RowBinary"}]}]} />

Lire les valeurs du type de données [JSON](/docs/fr/reference/data-types/newjson) sous forme de valeurs [String](/docs/fr/reference/data-types/string) contenant du JSON dans le format d’entrée 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" />

Ignorer les champs dont les types ne sont pas pris en charge lors de l’inférence du schéma pour le format 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" />

Ignorer les colonnes de types non pris en charge lors de l’inférence du schéma pour le format 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": "Fait d’abord correspondre les noms de colonnes d’entrée en respectant la casse, puis bascule vers une correspondance insensible à la casse, au lieu d’exiger une correspondance exacte de la casse."}]}, {"id": "row-2","items": [{"label": "26.4"},{"label": "match_case"},{"label": "Nouveau paramètre."}]}]} />

Définit le mode de correspondance des noms de colonnes lors de l’ingestion de données dans différents formats (notamment JSONEachRow, CSVWithNames, JSONColumns, BSONEachRow et RowBinaryWithNames).
Modes pris en charge :

* match\_case : correspondance sensible à la casse
  * ignore\_case : correspondance insensible à la casse
  * auto : essaie d’abord une correspondance sensible à la casse ; en cas d’échec, essaie une correspondance insensible à la casse.

<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": "Nouveau paramètre permettant d’analyser et de traiter les données restantes dans le tampon si la connexion se ferme de manière inattendue"}]}]} />

Lorsque cette option est activée, si la connexion se ferme de manière inattendue, les données restantes dans le tampon sont analysées et traitées au lieu de provoquer une erreur

<Note>
  L’activation de cette option désactive l’analyse parallèle et rend la déduplication impossible
</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 cette option est définie sur true, \r sera autorisé en fin de ligne s'il n'est pas suivi 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" />

Ignorer les colonnes supplémentaires dans le CSV en entrée (si le fichier comporte plus de colonnes que prévu) et traiter les champs manquants dans le CSV en entrée comme des valeurs par défaut

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

Autorise l’utilisation des espaces et des tabulations (\t) comme délimiteur de champ dans les chaînes CSV

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

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

Lors de la lecture d'un Array à partir de CSV, les éléments sont supposés avoir été sérialisés en CSV imbriqué, puis placés dans une chaîne de caractères. Exemple : "\[""Hello"", ""world"", ""42"""" TV""]". Les crochets entourant le tableau peuvent être omis.

<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": "Une nouvelle manière d’interpréter les tuples au format CSV a été ajoutée."}]}, {"id": "row-2","items": [{"label": "24.3"},{"label": "1"},{"label": "Une nouvelle manière d’interpréter les tuples au format CSV a été ajoutée."}]}]} />

Si ce paramètre est défini sur true, des colonnes distinctes écrites au format CSV peuvent être désérialisées en une colonne 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": "Détecter l’en-tête du format CSV par défaut"}]}]} />

Détecte automatiquement l’en-tête contenant les noms et les types au format CSV

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

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

Considère les champs vides dans l’entrée CSV comme des valeurs par défaut.

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

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

Traiter les valeurs enum insérées dans les formats CSV comme des indices d’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": "Nouveau paramètre permettant de lire une valeur manquante de `Nullable(String)` dans un CSV comme une chaîne vide au lieu de NULL."}]}]} />

Contrôle la façon dont `Nullable(String)` est lu lorsqu'une valeur est manquante dans un CSV. Une valeur manquante correspond à un espace vide entre, avant ou après des virgules, sans être entouré de guillemets. Si ce paramètre est activé, quelle que soit la valeur de `input_format_csv_empty_as_default`, la valeur manquante de `Nullable(String)` sera interprétée comme une `String` vide, et non comme NULL.

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

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

Ignore le nombre de lignes spécifié au début des données au format CSV

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

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

Ignorer les lignes vides en fin de CSV

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

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

Supprime les espaces et les tabulations (\t) au début et à la fin des chaînes 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 ce paramètre est activé, lors de l’inférence du schéma, ClickHouse tentera d’inférer des nombres à partir de champs de type String.
Cela peut être utile si les données CSV contiennent des nombres UInt64 entre guillemets.

Désactivé par défaut.

<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": "Une nouvelle façon d’interpréter les tuples au format CSV a été ajoutée."}]}, {"id": "row-2","items": [{"label": "24.3"},{"label": "1"},{"label": "Une nouvelle façon d’interpréter les tuples au format CSV a été ajoutée."}]}]} />

Interprète les tuples entre guillemets dans les données d’entrée comme une valeur de type 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" />

Utilise divers ajustements et heuristiques pour inférer le schéma du format 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" />

Permet de définir une valeur par défaut pour la colonne lorsque la désérialisation d’un champ CSV échoue en raison d’une valeur invalide

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

Ignorer les colonnes supplémentaires dans l’entrée CustomSeparated (si le fichier contient plus de colonnes que prévu) et traiter les champs manquants dans l’entrée CustomSeparated comme des valeurs par défaut

<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": "Détection par défaut de l’en-tête avec les noms et les types au format CustomSeparated"}]}]} />

Détecte automatiquement l’en-tête avec les noms et les types au format CustomSeparated

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

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

Ignorer les lignes vides finales au format 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": "Active le calcul d'expressions par défaut complexes pour les champs omis dans certains formats d'entrée, car il s'agit du comportement attendu"}]}]} />

Lors de l'exécution de requêtes `INSERT`, remplacez les valeurs des colonnes d'entrée omises par les valeurs par défaut des colonnes correspondantes. Cette option s'applique aux formats [JSONEachRow](/docs/fr/reference/formats/JSON/JSONEachRow) (et aux autres formats JSON), [CSV](/docs/fr/reference/formats/CSV/CSV), [TabSeparated](/docs/fr/reference/formats/TabSeparated/TabSeparated), [TSKV](/docs/fr/reference/formats/TabSeparated/TSKV), [Parquet](/docs/fr/reference/formats/Parquet/Parquet), [Arrow](/docs/fr/reference/formats/Arrow/Arrow), [Avro](/docs/fr/reference/formats/Avro/Avro), [ORC](/docs/fr/reference/formats/ORC), [Native](/docs/fr/reference/formats/Native), ainsi qu'aux formats avec les suffixes `WithNames`/`WithNamesAndTypes`.

<Note>
  Lorsque cette option est activée, des métadonnées de table étendues sont envoyées du serveur au client. Cela consomme des ressources de calcul supplémentaires sur le serveur et peut réduire les performances.
</Note>

Valeurs possibles :

* 0 — Désactivé.
* 1 — Activé.

<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": "Désactive les valeurs par défaut du type pour les champs omis si nécessaire"}]}]} />

Forcer l'initialisation des champs omis avec des valeurs 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": "Nouveau paramètre qui contrôle la gestion des types de géométrie GeoJSON qui ne peuvent pas être représentés par le type `Geometry` (GeometryCollection, MultiPoint)"}]}]} />

Contrôle ce qui se passe lorsqu’un type de géométrie `GeoJSON` valide qui ne peut pas être représenté par le type `Geometry` de ClickHouse (comme `GeometryCollection` ou `MultiPoint`) doit être stocké dans la colonne `geometry` lors de la lecture d’une entrée au format `GeoJSON`.

Valeurs possibles :

* `'throw'` (par défaut) — lever une exception.
* `'null'` — insérer une valeur `NULL` dans la colonne `geometry` et poursuivre l’analyse.

Cela s’applique uniquement lorsque la colonne `geometry` est matérialisée. Lorsqu’il ne s’agit pas d’une colonne de sortie demandée, une telle géométrie est bien validée pour vérifier qu’elle est correctement formée, mais ne déclenche pas cette gestion.

<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": "Ignorer les colonnes supplémentaires dans l’entrée au format Hive Text (si le fichier comporte plus de colonnes que prévu) et traiter les champs manquants dans l’entrée au format Hive Text comme des valeurs par défaut."}]}]} />

Ignorer les colonnes supplémentaires dans l’entrée au format Hive Text (si le fichier comporte plus de colonnes que prévu) et traiter les champs manquants dans l’entrée au format Hive Text comme des valeurs par défaut

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

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

Délimiteur entre les éléments d’une collection (Array ou Map) dans Hive Text File

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

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

Délimiteur entre les champs du fichier Hive Text

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

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

Délimiteur entre la clé et la valeur d’une paire de map dans Hive Text File

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

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

Active ou désactive l’insertion de données JSON contenant des objets imbriqués.

Formats pris en charge :

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

Valeurs possibles :

* 0 — Désactivé.
* 1 — Activé.

Voir aussi :

* [Utilisation des structures Nested](/docs/fr/guides/clickhouse/data-formats/json/formats#accessing-nested-json-objects) avec le format `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 désérialisation d’IPv4 utilisera les valeurs par défaut au lieu de lever une exception en cas d’erreur lors de la conversion.

Désactivé par défaut.

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

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

La désérialisation d’IPv6 utilisera les valeurs par défaut au lieu de lever une exception en cas d’erreur de conversion.

Désactivé par défaut.

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

Autorise un nombre variable de colonnes dans les lignes des formats d’entrée JSONCompact/JSONCompactEachRow.
Ignore les colonnes supplémentaires dans les lignes qui contiennent plus de colonnes que prévu et considère les colonnes manquantes comme des valeurs par défaut.

Désactivé par défaut.

<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": "Autoriser par défaut les éléments manquants dans les objets JSON lors de la lecture de tuples nommés"}]}]} />

Insère des valeurs par défaut pour les éléments manquants d’un objet JSON lors de l’analyse d’un tuple nommé.
Ce paramètre fonctionne uniquement lorsque le paramètre `input_format_json_named_tuples_as_objects` est activé.

Activé par défaut.

<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": "Ajout d'un nouveau paramètre permettant de traiter les champs vides dans l'entrée JSON comme des valeurs par défaut."}]}]} />

Lorsqu'il est activé, ce paramètre remplace les champs d'entrée vides en JSON par des valeurs par défaut. Pour les expressions par défaut complexes, `input_format_defaults_for_omitted_fields` doit également être activé.

Valeurs possibles :

* 0 — Désactivé.
* 1 — Activé.

<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": "Amélioration de l’analyse des objets JSON comme tuples nommés"}]}]} />

Ignorer les clés inconnues dans les objets JSON pour les tuples nommés.

Activé par défaut.

<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": "Ignorer les champs inutiles sans les analyser. Son activation peut faire qu’aucune exception ne soit levée pour des chaînes JSON au format invalide ou contenant des champs dupliqués"}]}]} />

Ignorer les champs inutiles sans les analyser. Son activation peut faire qu’aucune exception ne soit levée pour des chaînes JSON au format invalide ou contenant des champs dupliqués

<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": "Utiliser par défaut Array(Dynamic) pour les tableaux JSON contenant des valeurs de types de données différents"}]}]} />

Si cette option est activée, lors de l’inférence du schéma, ClickHouse utilisera le type Array(Dynamic) pour les tableaux JSON contenant des valeurs de types de données différents.

Exemple :

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

Activé par défaut.

<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": "Permet d'inférer par défaut les types incomplets comme des Strings dans les formats JSON"}]}]} />

Permet d'utiliser le type String pour les clés JSON qui ne contiennent que `Null`/`{}`/`[]` dans l'échantillon de données lors de l'inférence du schéma.
Dans les formats JSON, toute valeur peut être lue comme String, ce qui permet d'éviter des erreurs telles que `Cannot determine type for column 'column_name' by first 25000 rows of data, most likely this column contains only Nulls or empty Arrays/Maps` lors de l'inférence du schéma
en utilisant le type String pour les clés de type inconnu.

Exemple :

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

Résultat :

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

Activé par défaut.

<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": "Nouveau paramètre"}]}]} />

Désérialise les colonnes Map sous forme de tableaux JSON de tuples.

Désactivé par défaut.

<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": "Dans les versions précédentes, il n’y avait pas de limite, mais cela n’était pas sûr."}]}]} />

Profondeur maximale d’un champ en JSON. Il ne s’agit pas d’une limite stricte et elle n’a pas besoin d’être appliquée avec précision.

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

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

Interpréter les colonnes de tuples nommés comme des objets JSON.

Activé par défaut.

<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": "Permet de lire par défaut les tableaux JSON comme des chaînes dans les formats d’entrée JSON"}]}]} />

Autorise l’analyse des tableaux JSON comme des chaînes dans les formats d’entrée JSON.

Exemple :

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

Résultat :

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

Activé par défaut.

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

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

Autorise l’analyse des booléens comme des nombres dans les formats d’entrée JSON.

Activé par défaut.

<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": "Permet de lire les booléens sous forme de chaînes dans les formats JSON par défaut"}]}]} />

Permet d'analyser les booléens sous forme de chaînes dans les formats d'entrée JSON.

Activé par défaut.

<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": "Permet d’interpréter par défaut les nombres comme des chaînes dans les formats JSON"}]}]} />

Permet d’interpréter les nombres comme des chaînes dans les formats d’entrée JSON.

Activé par défaut.

<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": "Activer la lecture des objets JSON imbriqués sous forme de chaînes lorsque le type Object est expérimental"}]}]} />

Permet d'analyser les objets JSON comme des chaînes dans les formats d'entrée JSON.

Exemple :

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

Résultat :

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

Activé par défaut.

<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": "Permet d’enregistrer des chaînes JSON comportant des séquences d’échappement invalides"}]}]} />

Lève une exception si une chaîne JSON contient une séquence d’échappement invalide dans les formats d’entrée JSON. Si cette option est désactivée, les séquences d’échappement invalides restent telles quelles dans les données.

Activé par défaut.

<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": "Essayer d’inférer par défaut des tuples nommés à partir d’objets JSON"}]}]} />

Si ce paramètre est activé, lors de l’inférence du schéma, ClickHouse essaiera d’inférer un tuple nommé à partir d’objets JSON.
Le tuple nommé obtenu contiendra tous les éléments de tous les objets JSON correspondants présents dans les données d’exemple.

Exemple :

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

Résultat :

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

Activé par défaut.

<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": "Par défaut, n'infère pas les nombres à partir de chaînes dans les formats JSON afin d'éviter d'éventuelles erreurs de parsing"}]}]} />

Si ce paramètre est activé, lors de l'inférence du schéma, ClickHouse essaiera d'inférer les nombres à partir des champs String.
Cela peut être utile si les données JSON contiennent des nombres UInt64 entre guillemets.

Désactivé par défaut.

<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": "Permet d'utiliser le type String pour les chemins ambigus lors de l'inférence de tuples nommés à partir d'objets JSON"}]}]} />

Utilise le type String au lieu de lever une exception en cas de chemins ambigus dans des objets JSON lors de l'inférence de tuples nommés

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

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

Pour les formats d'entrée JSON/JSONCompact/JSONColumnsWithMetadata, si ce paramètre est défini sur 1,
les types indiqués dans les métadonnées des données d'entrée seront comparés à ceux des colonnes correspondantes de la table.

Activé par défaut.

<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": "Nouveau paramètre permettant de limiter la taille en octets si des blocs sont créés par le format d’entrée"}]}]} />

Limite la taille, en octets, des blocs formés lors de l’analyse des données dans les formats d’entrée. Utilisé dans les formats d’entrée basés sur les lignes lorsqu’un bloc est formé côté ClickHouse.
0 signifie qu’il n’y a pas de limite en octets.

<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": "Nouveau paramètre limitant le temps d’attente maximal, en millisecondes, avant qu’un bloc ne soit émis par le format d’entrée"}]}]} />

Limite le temps d’attente maximal, en millisecondes, avant l’émission d’un bloc lors de l’analyse des formats d’entrée basés sur les lignes. 0 signifie qu’il n’y a pas de limite.

<Note>
  Cette option fonctionne uniquement si `input_format_connection_handling` est activé. Le fait de définir une valeur désactive également l’analyse parallèle et rend la déduplication impossible.
</Note>

<Note>
  Pour les insertions en streaming, vous devez également définir `min_insert_block_size_rows=0` et `min_insert_block_size_bytes=0`. Sinon, les blocs analysés peuvent encore être accumulés en mémoire à l’étape de compactage des blocs jusqu’à ce que ces seuils soient atteints, ce qui empêche des insertions rapides.
</Note>

**Exemple : diffusion en streaming des modifications récentes de Wikipedia vers 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" />

La quantité maximale de données, en octets, à lire pour l’inférence automatique de schéma.

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

Le nombre maximal de lignes de données à lire pour l’inférence automatique de schéma.

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

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

Le nombre de colonnes dans les données MsgPack insérées. Utilisé pour l’inférence automatique de schéma à partir des données.

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

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

Faire correspondre, par leur nom, les colonnes des tables du dump MySQL avec celles de la table ClickHouse

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

Nom de la table du dump MySQL à partir de laquelle lire les données

<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": "Autoriser la conversion des types dans le format d'entrée Native"}]}]} />

Autoriser la conversion des types de données dans le format d'entrée 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": "Ajout d’un nouveau paramètre permettant de lire les noms de types au format binaire dans le format de sortie Native"}]}]} />

Lire les types de données au format binaire plutôt que les noms de types dans le format d’entrée 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": "Permet d’insérer NULL comme valeur par défaut dans les formats d’entrée"}]}]} />

Active ou désactive l’initialisation des champs [NULL](/docs/fr/reference/syntax#literals) avec les [valeurs par défaut](/docs/fr/reference/statements/create/table#default_values), si le type de données de ces champs n’est pas [nullable](/docs/fr/reference/data-types/nullable).
Si le type de la colonne n’est pas nullable et que ce paramètre est désactivé, l’insertion de `NULL` provoque une exception. Si le type de la colonne est nullable, les valeurs `NULL` sont insérées telles quelles, quel que soit ce paramètre.

Ce paramètre s’applique à la plupart des formats d’entrée.

Pour les expressions par défaut complexes, `input_format_defaults_for_omitted_fields` doit également être activé.

Valeurs possibles :

* 0 — L’insertion de `NULL` dans une colonne non nullable provoque une exception.
* 1 — Les champs `NULL` sont initialisés avec les valeurs par défaut de la colonne.

<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": "Autoriser par défaut les colonnes manquantes dans les fichiers ORC"}]}]} />

Autoriser les colonnes manquantes lors de la lecture des fichiers ORC en entrée

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

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

Ignorer la casse lors de la mise en correspondance des colonnes ORC avec les colonnes 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": "Traiter les colonnes ORC encodées avec un dictionnaire comme des colonnes LowCardinality lors de la lecture des fichiers ORC"}]}]} />

Traiter les colonnes ORC encodées avec un dictionnaire comme des colonnes LowCardinality lors de la lecture des fichiers ORC.

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

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

Lors de la lecture de fichiers ORC, ignore les stripes ou les groupes de lignes entiers en fonction des expressions WHERE/PREWHERE, des statistiques min/max ou du filtre de Bloom dans les métadonnées 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": "Nom du fuseau horaire du lecteur de lignes ORC ; le fuseau horaire par défaut de ce lecteur est GMT."}]}]} />

Nom du fuseau horaire du lecteur de lignes ORC ; le fuseau horaire par défaut de ce lecteur est GMT.

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

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

Taille du lot lors de la lecture des stripes 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" />

Ignorer les colonnes dont le type n’est pas pris en charge lors de l’inférence de schéma pour le format ORC

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

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

Utilise une implémentation plus rapide du décodeur ORC.

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

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

Active ou désactive l'analyse parallèle des formats de données tout en préservant l'ordre. Pris en charge uniquement pour les formats [TabSeparated (TSV)](/docs/fr/reference/formats/TabSeparated/TabSeparated), [TSKV](/docs/fr/reference/formats/TabSeparated/TSKV), [CSV](/docs/fr/reference/formats/CSV/CSV) et [JSONEachRow](/docs/fr/reference/formats/JSON/JSONEachRow).

Valeurs possibles :

* 1 — Activé.
* 0 — Désactivé.

<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": "Nouveau paramètre permettant d'utiliser des colonnes géo dans un fichier Parquet"}]}]} />

Utilise l’analyseur de colonnes géo pour convertir Array(UInt8) en types 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": "Autoriser par défaut les colonnes manquantes dans les fichiers Parquet"}]}]} />

Autoriser les colonnes manquantes lors de la lecture de données d’entrée au format 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": "Lors de la lecture de fichiers Parquet, ignore des groupes de lignes entiers sur la base des expressions WHERE\/PREWHERE et du filtre de Bloom dans les métadonnées Parquet."}]}, {"id": "row-2","items": [{"label": "24.10"},{"label": "0"},{"label": "Lors de la lecture de fichiers Parquet, ignore des groupes de lignes entiers sur la base des expressions WHERE\/PREWHERE et du filtre de Bloom dans les métadonnées Parquet."}]}]} />

Lors de la lecture de fichiers Parquet, ignore des groupes de lignes entiers sur la base des expressions WHERE et du filtre de Bloom dans les métadonnées Parquet.

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

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

Ignore la casse lors de la correspondance entre les colonnes Parquet et les colonnes 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": "Lors de la lecture de fichiers Parquet, interprète les colonnes JSON comme des colonnes JSON ClickHouse."}]}]} />

Lors de la lecture de fichiers Parquet, interprète les colonnes JSON comme des colonnes JSON ClickHouse.

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

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.10"},{"label": "1"},{"label": "Activer le préchargement des groupes de lignes lors de l’analyse de Parquet. Actuellement, seule l’analyse en mono-thread peut effectuer un préchargement."}]}]} />

Activer le préchargement des groupes de lignes lors de l’analyse de Parquet. Actuellement, seule l’analyse en mono-thread peut effectuer un préchargement.

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

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

Lors de la lecture de fichiers Parquet, ignore les groupes de lignes entiers en fonction des expressions WHERE/PREWHERE et des statistiques min/max des métadonnées 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" />

Nombre minimal d’octets requis pour qu’une lecture locale (fichier) effectue un seek plutôt qu’une lecture avec ignore, dans le format d’entrée 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": "Utiliser le type plus approprié DateTime64(..., 'UTC') pour le type Parquet 'local time without timezone'."}]}]} />

Détermine le type de données utilisé par l’inférence de schéma pour les horodatages Parquet avec isAdjustedToUTC=false. Si true : DateTime64(..., 'UTC'), si false : DateTime64(...). Aucun des deux comportements n’est entièrement correct, car ClickHouse ne dispose pas d’un type de données pour l’heure locale au sens wall-clock time. Contre-intuitivement, true est probablement l’option la moins incorrecte, car le formatage de l’horodatage 'UTC' en String produira une représentation de l’heure locale correcte.

<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": "Augmentation de la taille de bloc pour le lecteur Parquet."}]}]} />

Taille maximale de bloc pour le lecteur 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": "Nouveau paramètre"}]}]} />

Limite de mémoire approximative du lecteur Parquet v3. Limite le nombre de groupes de lignes ou de colonnes pouvant être lus en parallèle. Lors de la lecture de plusieurs fichiers dans une même requête, la limite porte sur l'utilisation mémoire totale de l'ensemble de ces fichiers.

<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": "Nouveau paramètre"}]}]} />

Planifie les préchargements de manière plus agressive si l'utilisation de la mémoire est inférieure au seuil. Peut être utile, par exemple, s'il y a de nombreux petits filtres de Bloom à lire via le réseau.

<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": "Nouveau paramètre (sans effet lorsque input_format_parquet_use_native_reader_v3 est désactivé)"}]}]} />

Ignorer les pages à l’aide des valeurs min./max. de l’index de colonne.

<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": "Taille moyenne, en octets, des blocs produits par le lecteur Parquet."}]}]} />

Taille moyenne, en octets, des blocs produits par le lecteur 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": "Autoriser le lecteur Parquet à réordonner les lignes pour améliorer le parallélisme."}]}]} />

Évite de réordonner les lignes lors de la lecture de fichiers Parquet. Cette option n’est pas recommandée, car l’ordre des lignes n’est généralement pas garanti et d’autres parties du pipeline de requête peuvent aussi le perturber. Utilisez plutôt `ORDER BY _row_number`.

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

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

Ignorer les colonnes dont les types ne sont pas pris en charge lors de l’inférence de schéma pour le format 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": "Nouveau paramètre (sans effet lorsque input_format_parquet_use_native_reader_v3 est désactivé)"}]}]} />

Ajustement mineur de la lecture des pages d’un fichier Parquet lorsqu’aucun filtrage de pages n’est utilisé.

<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": "Nouveau paramètre."}]}]} />

Vérifie les sommes de contrôle des pages à la lecture des fichiers Parquet.

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

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

Activez les wrappers Google pour les colonnes ordinaires non imbriquées, par exemple google.protobuf.StringValue 'str' pour la colonne String 'str'. Pour les colonnes Nullable, les wrappers vides sont interprétés comme des valeurs par défaut, et les wrappers absents comme des 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": "Nouveau paramètre"}]}]} />

Indique quel champ du oneof Protobuf est présent en définissant une valeur enum dans une colonne spéciale

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

Ignorer les champs dont les types ne sont pas pris en charge lors de l’inférence de schéma pour le format Protobuf

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

Chemin du fichier utilisé pour enregistrer les erreurs lors de la lecture de formats textuels (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": "Optimise la lecture d’un sous-ensemble de colonnes pour certains formats d’entrée"}]}]} />

Active ou désactive l’ignorance des données supplémentaires lors de l’insertion.

Lors de l’écriture de données, ClickHouse lève une exception si les données d’entrée contiennent des colonnes qui n’existent pas dans la table cible. Si cette option est activée, ClickHouse n’insère pas les données supplémentaires et ne lève pas d’exception.

Formats pris en charge :

* [JSONEachRow](/docs/fr/reference/formats/JSON/JSONEachRow) (et autres formats JSON)
* [BSONEachRow](/docs/fr/reference/formats/BSONEachRow) (et autres formats JSON)
* [TSKV](/docs/fr/reference/formats/TabSeparated/TSKV)
* Tous les formats avec les suffixes WithNames/WithNamesAndTypes
* [MySQLDump](/docs/fr/reference/formats/MySQLDump)
* [Native](/docs/fr/reference/formats/Native)

Valeurs possibles :

* 0 — Désactivé.
* 1 — Activé.

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

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

Si cette option est activée, ClickHouse essaiera d'inférer le type `Date` à partir des champs de type chaîne lors de l'inférence de schéma pour les formats texte. Si tous les champs d'une colonne dans les données d'entrée ont été correctement analysés comme des dates, le type résultant sera `Date` ; si au moins un champ n'a pas été analysé comme une date, le type résultant sera `String`.

Activé par défaut.

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

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

Si cette option est activée, ClickHouse tentera d’inférer le type `DateTime64` à partir de champs texte lors de l’inférence de schéma pour les formats texte. Si tous les champs d’une colonne des données d’entrée sont correctement interprétés comme des valeurs de date et d’heure, le type résultant sera `DateTime64` ; si au moins un champ ne peut pas être interprété comme une valeur de date et d’heure, le type résultant sera `String`.

Activé par défaut.

<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": "Permet d’inférer DateTime au lieu de DateTime64 dans les formats de données"}]}]} />

Lorsque input\_format\_try\_infer\_datetimes est activé, n’inférer que DateTime64, et non les types 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": "Ne pas inférer par défaut les Float en notation exponentielle"}]}]} />

Essaie d’inférer les Float en notation exponentielle lors de l’inférence de schéma dans les formats texte (sauf JSON, où les nombres en notation exponentielle sont toujours inférés)

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

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

Si cette option est activée, ClickHouse essaiera d'inférer des entiers plutôt que des nombres à virgule flottante lors de l'inférence du schéma pour les formats texte. Si tous les nombres de la colonne dans les données d'entrée sont des entiers, le type résultant sera `Int64` ; si au moins un nombre est à virgule flottante, le type résultant sera `Float64`.

Activé par défaut.

<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": "Essayer d’inférer le type Variant dans les formats texte lorsqu’il existe plusieurs types possibles pour les éléments de colonnes ou de tableaux"}]}]} />

Si activé, ClickHouse tentera d’inférer le type [`Variant`](/docs/fr/reference/data-types/variant) lors de l’inférence de schéma pour les formats texte lorsqu’il existe plusieurs types possibles pour les éléments de colonnes ou de tableaux.

Valeurs possibles :

* 0 — Désactivé.
* 1 — Activé.

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

Ignorer les colonnes supplémentaires dans l’entrée TSV (si le fichier contient plus de colonnes que prévu) et traiter les champs manquants dans l’entrée TSV comme des valeurs par défaut

<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": "Permet de lire les fins de ligne CRLF avec les formats TSV"}]}]} />

Si ce paramètre est défini sur true, la fonction file lira le format TSV avec \r\n au lieu 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": "Détection par défaut de l’en-tête au format TSV"}]}]} />

Détecte automatiquement l’en-tête contenant les noms et les types au format TSV

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

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

Considère les champs vides dans l’entrée TSV comme des valeurs par défaut.

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

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

Traite les valeurs enum insérées dans les formats TSV comme des indices d’enum.

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

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

Ignore le nombre spécifié de lignes au début des données au format TSV

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

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

Ignorer les lignes vides en fin de fichier au format 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" />

Utilise divers ajustements et heuristiques pour inférer le schéma au format TSV

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

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

Pour le format Values : lors de l’analyse et de l’interprétation des expressions à l’aide du modèle, vérifiez le type réel du littéral afin d’éviter d’éventuels problèmes de dépassement de capacité et de précision.

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

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

Pour le format Values : si le champ n’a pas pu être analysé par le parseur en streaming, exécuter le parseur SQL, déduire le modèle de l’expression SQL, essayer d’analyser toutes les lignes à l’aide de ce modèle, puis interpréter l’expression pour toutes les lignes.

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

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

Pour le format Values : si le champ n’a pas pu être analysé par le parseur en flux, exécuter le parseur SQL et tenter de l’interpréter comme une expression 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": "Active l’utilisation de l’en-tête avec les noms pour les formats dotés des suffixes WithNames/WithNamesAndTypes"}]}]} />

Active ou désactive la vérification de l’ordre des colonnes lors de l’insertion de données.

Pour améliorer les performances d’insertion, nous recommandons de désactiver cette vérification si vous êtes sûr que l’ordre des colonnes des données d’entrée est le même que celui de la table cible.

Formats pris en charge :

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

Valeurs possibles :

* 0 — Désactivé.
* 1 — Activé.

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

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

Contrôle si l'analyseur du format doit vérifier que les types de données des données d'entrée correspondent à ceux de la table cible.

Formats pris en charge :

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

Valeurs possibles :

* 0 — Désactivé.
* 1 — Activé.
