Skip to main content
Ces paramètres sont générés automatiquement à partir du code source.

format_schema

Ce paramètre est utile lorsque vous utilisez des formats qui nécessitent une définition de schéma, comme Cap’n Proto ou Protobuf. Sa valeur dépend du format.

format_schema_message_name

Spécifie le nom du message requis dans le schéma défini dans format_schema. Pour préserver la compatibilité avec le format format_schema legacy (file_name:message_name) :
  • Si format_schema_message_name n’est pas spécifié, le nom du message est déduit de la partie message_name de la valeur format_schema legacy.
  • Si format_schema_message_name est spécifié lors de l’utilisation du format legacy, une erreur est générée.

format_schema_source

Définit la source de format_schema. Valeurs possibles :
  • ‘file’ (par défaut) : format_schema correspond au nom d’un fichier de schéma situé dans le répertoire format_schemas.
  • ‘string’ : format_schema correspond au contenu littéral du schéma.
  • ‘query’ : format_schema est une requête permettant de récupérer le schéma. Lorsque format_schema_source est défini sur ‘query’, les conditions suivantes s’appliquent :
  • La requête doit renvoyer exactement une valeur : une seule ligne avec une seule colonne de type chaîne.
  • Le résultat de la requête est traité comme le contenu du schéma.
  • Ce résultat est mis en cache localement dans le répertoire format_schemas.
  • Vous pouvez vider le cache local à l’aide de la commande : SYSTEM DROP FORMAT SCHEMA CACHE FOR Files.
  • Une fois mis en cache, les requêtes identiques provenant du même utilisateur ne sont plus exécutées pour récupérer de nouveau le schéma tant que le cache n’est pas explicitement vidé.
  • En plus des fichiers du cache local, les messages Protobuf sont également mis en cache en mémoire. Même après avoir vidé les fichiers du cache local, le cache en mémoire doit être vidé à l’aide de SYSTEM DROP FORMAT SCHEMA CACHE [FOR Protobuf] pour actualiser complètement le schéma.
  • Exécutez la requête SYSTEM DROP FORMAT SCHEMA CACHE pour vider en une seule fois le cache des fichiers locaux et celui des schémas des messages Protobuf.
  • La requête est exécutée au nom de l’utilisateur qui la lance ; elle est donc soumise aux droits d’accès de cet utilisateur, et son résultat mis en cache n’est réutilisé que pour ce même utilisateur. Elle ne peut pas être exécutée en l’absence d’utilisateur : dans une tâche en arrière-plan, comme un consommateur de moteur de flux, ou lorsque les données d’un INSERT sont analysées côté client. Dans ces cas, utilisez format_schema_source défini sur file ou string.
Dernière modification le 26 septembre 2026