| Entrée | Sortie | Alias |
|---|---|---|
| ✔ | ✔ |
Description
JSONEachRow.
Exemple d’utilisation
Exemple simple
format_json_object_each_row_column_for_object_name.
La valeur de ce paramètre correspond au nom d’une colonne, utilisée comme clé JSON pour une ligne dans l’objet résultant.
Sortie
test avec deux colonnes :
JSONObjectEachRow et utilisons le paramètre format_json_object_each_row_column_for_object_name :
Query
Response
Entrée
data.json :
Query
Response
Query
Response
Insertion de données
Query
- N’importe quel ordre pour les paires clé-valeur dans l’objet.
- L’omission de certaines valeurs.
Traitement des valeurs omises
DEFAULT expr est spécifié, ClickHouse applique des règles de substitution différentes selon le paramètre input_format_defaults_for_omitted_fields.
Considérez le tableau suivant :
Query
- Si
input_format_defaults_for_omitted_fields = 0, la valeur par défaut dexet deaest0(qui est la valeur par défaut du type de donnéesUInt32). - Si
input_format_defaults_for_omitted_fields = 1, la valeur par défaut dexest0, mais celle deaestx * 2.
Lors de l’insertion de données avec
input_format_defaults_for_omitted_fields = 1, ClickHouse consomme plus de ressources de calcul qu’avec une insertion utilisant input_format_defaults_for_omitted_fields = 0.Sélection de données
UserActivity comme exemple :
SELECT * FROM UserActivity FORMAT JSONEachRow renvoie :
JSON.
N’importe quelle séquence d’octets peut être renvoyée dans les chaînes. Utilisez le format
JSONEachRow si vous êtes certain que les données de la table peuvent être formatées en JSON sans perte d’information.Utilisation des structures Nested
Nested, vous pouvez insérer des données JSON ayant la même structure. Activez cette fonctionnalité avec le paramètre input_format_import_nested_json.
Par exemple, prenons la table suivante :
Query
Nested, ClickHouse traite chaque composant de la structure imbriquée comme une colonne distincte (n.s et n.i dans notre table). Vous pouvez insérer les données de la manière suivante :
Query
input_format_import_nested_json=1.
Query
Response
Query
Response
Query
Response
Paramètres de format
| Paramètre | Description | Par défaut | Remarques |
|---|---|---|---|
input_format_import_nested_json | associer des données JSON imbriquées à des tables imbriquées (fonctionne avec le format JSONEachRow). | false | |
input_format_json_read_bools_as_numbers | autorise l’analyse des booléens comme des nombres dans les formats d’entrée JSON. | true | |
input_format_json_read_bools_as_strings | permet d’interpréter les booléens comme des chaînes dans les formats d’entrée JSON. | true | |
input_format_json_read_numbers_as_strings | permet d’interpréter les nombres comme des chaînes dans les formats d’entrée JSON. | true | |
input_format_json_read_arrays_as_strings | permet d’interpréter les tableaux JSON comme des chaînes dans les formats d’entrée JSON. | true | |
input_format_json_read_objects_as_strings | permet d’interpréter les objets JSON comme des chaînes dans les formats d’entrée JSON. | true | |
input_format_json_named_tuples_as_objects | analyser les colonnes de tuples nommés en tant qu’objets JSON. | true | |
input_format_json_try_infer_numbers_from_strings | essayer d’inférer des nombres à partir de champs de chaîne lors de l’inférence du schéma. | false | |
input_format_json_try_infer_named_tuples_from_objects | essayer d’inférer un tuple nommé à partir d’objets JSON lors de l’inférence du schéma. | true | |
input_format_json_infer_incomplete_types_as_strings | utiliser le type String pour les clés ne contenant que des valeurs NULL ou des objets/tableaux vides lors de l’inférence de schéma dans les formats d’entrée JSON. | true | |
input_format_json_defaults_for_missing_elements_in_named_tuple | insérer des valeurs par défaut pour les éléments manquants dans un objet JSON lors de l’analyse d’un tuple nommé. | true | |
input_format_json_ignore_unknown_keys_in_named_tuple | ignorer les clés inconnues dans un objet JSON pour les tuples nommés. | false | |
input_format_json_compact_allow_variable_number_of_columns | autoriser un nombre variable de colonnes au format JSONCompact/JSONCompactEachRow, ignorer les colonnes supplémentaires et utiliser des valeurs par défaut pour les colonnes manquantes. | false | |
input_format_json_throw_on_bad_escape_sequence | lever une exception si la chaîne JSON contient une séquence d’échappement invalide. Si cette option est désactivée, les séquences d’échappement invalides resteront telles quelles dans les données. | true | |
input_format_json_empty_as_default | traiter les champs vides dans l’entrée JSON comme des valeurs par défaut. | false. | Pour les expressions par défaut complexes, input_format_defaults_for_omitted_fields doit également être activée. |
output_format_json_quote_64bit_integers | contrôle l’encadrement entre guillemets des entiers 64 bits dans le format de sortie JSON. | true | |
output_format_json_quote_64bit_floats | contrôle l’encadrement entre guillemets des nombres à virgule flottante 64 bits dans le format de sortie JSON. | false | |
output_format_json_quote_denormals | active la sortie de ‘+nan’, ‘-nan’, ‘+inf’ et ‘-inf’ dans le format de sortie JSON. | false | |
output_format_json_quote_decimals | contrôle la mise entre guillemets des valeurs Decimal dans le format de sortie JSON. | false | |
output_format_json_escape_forward_slashes | contrôle l’échappement des barres obliques (/) dans les sorties de chaînes au format de sortie JSON. | true | |
output_format_json_named_tuples_as_objects | sérialise les colonnes de named tuple en objets JSON. | true | |
output_format_json_array_of_rows | produit un tableau JSON contenant toutes les lignes au format JSONEachRow(Compact). | false | |
output_format_json_validate_utf8 | active la validation des séquences UTF-8 dans les formats de sortie JSON (notez que cela n’a aucun effet sur les formats JSON/JSONCompact/JSONColumnsWithMetadata, qui valident toujours l’UTF-8). | false |