Pular para o conteúdo principal

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 12 de junho de 2026