Skip to main content

Pergunta

Como posso trabalhar com mensagens JSON usando uma source ou tabela de entrada para extrair dados com uma visão materializada? Como posso trabalhar com JSON sem usar o JSON Object experimental?

Resposta

Um padrão comum para trabalhar com dados JSON é enviar os dados para uma tabela de entrada e usar funções JSONExtract para extrair os dados para uma nova tabela usando um gatilho de visão materializada. Normalmente, isso é feito conforme o fluxo e o padrão a seguir:
A tabela de entrada deve ter um campo raw do tipo String onde você armazenaria o JSON bruto. Ela também deve ter de um a dois outros campos que possam ser usados no gerenciamento dessa tabela, para que ela possa ser particionada e os dados antigos removidos com o tempo. *algumas integrações podem adicionar campos aos dados originais, por exemplo, ao usar o ClickHouse Kafka Connector Sink. Exemplo simplificado abaixo:
  • crie o banco de dados de exemplo
  • crie uma tabela de entrada na qual seu JSON bruto será inserido:
  • crie a tabela base da visão materializada
  • crie a visão materializada da tabela base
  • insira algumas linhas de exemplo
  • visualizar os resultados da extração e da visão materializada que seria usada nas consultas
Links de referência adicionais: Visões materializadas: https://clickhouse.com/docs/guides/developer/cascading-materialized-views Como trabalhar com JSON: https://clickhouse.com/docs/integrations/data-formats/json#other-approaches Funções JSON: https://clickhouse.com/docs/sql-reference/functions/json-functions
Última modificação em 3 de julho de 2026