Description
Contient des informations sur tous les schémas de fichiers mis en cache.
Colonnes
storage(String) — Nom du stockage : File, URL, S3 ou HDFS.source(String) — Source du fichier.format(String) — Nom du format.additional_format_info(String) — Informations supplémentaires requises pour identifier le schéma. Par exemple, des paramètres propres au format.registration_time(DateTime) — Horodatage auquel le schéma a été ajouté au cache.schema(Nullable(String)) — Schéma mis en cache.number_of_rows(Nullable(UInt64)) — Nombre de lignes dans le fichier au format indiqué. Utilisé pour mettre en cache les résultats triviaux decount()à partir des fichiers de données, ainsi que le nombre de lignes provenant des métadonnées lors de l’inférence de schéma.schema_inference_mode(Nullable(String)) — Mode d’inférence de schéma.
Exemple
Supposons que nous ayons un fichier data.jsonl contenant ceci :
{"id" : 1, "age" : 25, "name" : "Josh", "hobbies" : ["football", "cooking", "music"]}
{"id" : 2, "age" : 19, "name" : "Alan", "hobbies" : ["tennis", "art"]}
{"id" : 3, "age" : 32, "name" : "Lana", "hobbies" : ["fitness", "reading", "shopping"]}
{"id" : 4, "age" : 47, "name" : "Brayan", "hobbies" : ["movies", "skydiving"]}Ouvrez clickhouse-client et exécutez la requête DESCRIBE :
DESCRIBE file('data.jsonl') SETTINGS input_format_try_infer_integers=0;┌─name────┬─type────────────────────┬─default_type─┬─default_expression─┬─comment─┬─codec_expression─┬─ttl_expression─┐
│ id │ Nullable(Float64) │ │ │ │ │ │
│ age │ Nullable(Float64) │ │ │ │ │ │
│ name │ Nullable(String) │ │ │ │ │ │
│ hobbies │ Array(Nullable(String)) │ │ │ │ │ │
└─────────┴─────────────────────────┴──────────────┴────────────────────┴─────────┴──────────────────┴────────────────┘Voyons le contenu de la table system.schema_inference_cache :
SELECT *
FROM system.schema_inference_cache
FORMAT VerticalRow 1:
──────
storage: File
source: /home/droscigno/user_files/data.jsonl
format: JSONEachRow
additional_format_info: schema_inference_hints=, max_rows_to_read_for_schema_inference=25000, schema_inference_make_columns_nullable=true, try_infer_integers=false, try_infer_dates=true, try_infer_datetimes=true, try_infer_numbers_from_strings=true, read_bools_as_numbers=true, try_infer_objects=false
registration_time: 2022-12-29 17:49:52
schema: id Nullable(Float64), age Nullable(Float64), name Nullable(String), hobbies Array(Nullable(String))