Description
- Les dates et les dates-heures sont placées entre guillemets doubles.
- Les nombres sont affichés sans guillemets.
- Les valeurs sont séparées par un caractère délimiteur, qui est
,par défaut. Le caractère délimiteur est défini dans le paramètre format_csv_delimiter. - Les lignes sont séparées par le caractère de saut de ligne Unix (LF).
- Les Arrays sont sérialisés en CSV comme suit :
- d’abord, l’Array est sérialisé en chaîne comme dans le format TabSeparated
- la chaîne obtenue est ensuite affichée en CSV entre guillemets doubles.
- Les Tuples au format CSV sont sérialisés en colonnes distinctes (c’est-à-dire que leur imbrication dans le tuple est perdue).
Par défaut, le délimiteur est
,
Consultez le paramètre format_csv_delimiter pour plus d’informations.NULL est formaté selon le paramètre format_csv_null_representation (la valeur par défaut est \N).
Dans les données d’entrée, les valeurs ENUM peuvent être représentées sous forme de noms ou d’identifiants.
Nous essayons d’abord de faire correspondre la valeur d’entrée au nom de l’ENUM.
En cas d’échec, si la valeur d’entrée est un nombre, nous essayons de faire correspondre ce nombre à l’identifiant de l’ENUM.
Si les données d’entrée ne contiennent que des identifiants d’ENUM, il est recommandé d’activer le paramètre input_format_csv_enum_as_number pour optimiser l’analyse des ENUM.
Exemple d’utilisation
Paramètres de format
| Paramètre | Description | Par défaut | Notes |
|---|---|---|---|
| format_csv_delimiter | le caractère à considérer comme délimiteur dans les données CSV. | , | |
| format_csv_allow_single_quotes | autoriser les chaînes entre guillemets simples. | true | |
| format_csv_allow_double_quotes | autoriser les chaînes entre guillemets doubles. | true | |
| format_csv_null_representation | représentation personnalisée de NULL dans le format CSV. | \N | |
| input_format_csv_empty_as_default | traiter les champs vides dans l’entrée CSV comme des valeurs par défaut. | true | Pour les expressions par défaut complexes, input_format_defaults_for_omitted_fields doit également être activé. |
| input_format_csv_enum_as_number | traiter les valeurs enum insérées dans les formats CSV comme des indices d’enum. | false | |
| input_format_csv_use_best_effort_in_schema_inference | utiliser certains ajustements et heuristiques pour inférer le schéma dans le format CSV. Si ce paramètre est désactivé, tous les champs seront inférés comme des Strings. | true | |
| input_format_csv_arrays_as_nested_csv | lors de la lecture d’un Array depuis un CSV, s’attendre à ce que ses éléments aient été sérialisés en CSV imbriqué puis placés dans une chaîne. | false | |
| output_format_csv_crlf_end_of_line | si ce paramètre est défini sur true, la fin de ligne du format de sortie CSV sera \r\n au lieu de \n. | false | |
| input_format_csv_skip_first_lines | ignorer le nombre de lignes spécifié au début des données. | 0 | |
| input_format_csv_detect_header | détecter automatiquement un en-tête contenant les noms et les types dans le format CSV. | true | |
| input_format_csv_skip_trailing_empty_lines | ignorer les lignes vides à la fin des données. | false | |
| input_format_csv_trim_whitespaces | supprimer les espaces et les tabulations dans les chaînes CSV non délimitées par des guillemets. | true | |
| input_format_csv_allow_whitespace_or_tab_as_delimiter | autoriser l’utilisation d’espaces ou de tabulations comme délimiteur de champ dans les chaînes CSV. | false | |
| input_format_csv_allow_variable_number_of_columns | autoriser un nombre variable de colonnes dans le format CSV, ignorer les colonnes supplémentaires et utiliser des valeurs par défaut pour les colonnes manquantes. | false | |
| input_format_csv_use_default_on_bad_values | autoriser la définition d’une valeur par défaut pour une colonne lorsque la désérialisation d’un champ CSV échoue en cas de valeur incorrecte. | false | |
| input_format_csv_try_infer_numbers_from_strings | essayer d’inférer des nombres à partir de champs de type chaîne lors de l’inférence de schéma. | false |