Passer au contenu principal

Question

Comment exploiter un message JSON à l’aide d’une table source ou d’une table d’atterrissage pour en extraire les données avec une vue matérialisée ? Comment travailler avec JSON sans le JSON Object expérimental ?

Réponse

Une approche courante pour travailler avec des données JSON consiste à envoyer les données vers une table d’atterrissage, puis à utiliser des fonctions JSONExtract pour les extraire vers une nouvelle table à l’aide d’un déclencheur de vue matérialisée. Cela se fait généralement selon le flux et le schéma suivants :
La table d’atterrissage doit comporter un champ raw de type chaîne dans lequel stocker le JSON brut. Elle doit également comporter un ou deux autres champs pouvant servir à la gestion de cette table, afin de pouvoir la partitionner et la purger à mesure que les données vieillissent. *Certaines intégrations peuvent ajouter des champs aux données d’origine, par exemple lors de l’utilisation du ClickHouse Kafka Connector Sink. Exemple simplifié ci-dessous :
  • créez la base de données d’exemple
  • créez une table d’atterrissage dans laquelle vos données JSON brutes seront insérées :
  • créer la table de base de la vue matérialisée
  • créez la vue matérialisée à partir de la table de base
  • insérer quelques lignes d’exemple
  • voir les résultats issus de l’extraction et la vue matérialisée qui serait utilisée pour les requêtes
Liens de référence complémentaires : Vues matérialisées : https://clickhouse.com/docs/guides/developer/cascading-materialized-views Utilisation de JSON : https://clickhouse.com/docs/integrations/data-formats/json#other-approaches Fonctions JSON : https://clickhouse.com/docs/sql-reference/functions/json-functions
Dernière modification le 3 juillet 2026