Skip to main content

Kafka e o tipo de dados JSON

Com a introdução do novo tipo de dados JSON, o ClickHouse passou a ser uma boa opção de banco de dados para análise de JSON. Neste guia, vamos aprender a carregar mensagens JSON do Apache Kafka diretamente em uma única coluna JSON no ClickHouse.

Configurar o Kafka

Vamos começar executando um broker do Kafka na nossa máquina. Também vamos mapear a porta 9092 para a porta 9092 no sistema operacional host, para facilitar a interação com o Kafka:

Ingestão de dados no Kafka

Quando tudo estiver em execução, precisamos fazer a ingestão de alguns dados. O feed de alterações recentes da Wikimedia é uma boa fonte de dados em streaming, então vamos fazer a ingestão deles no tópico wiki_events:
Podemos verificar se os dados estão sendo ingeridos executando o seguinte comando:
Até aqui, tudo certo.

Faça a ingestão de dados no ClickHouse

Em seguida, vamos fazer a ingestão dos dados no ClickHouse. Primeiro, vamos habilitar o tipo JSON (que atualmente é experimental), definindo a seguinte propriedade:
Agora, vamos criar a tabela wiki_queue, que usa o engine de tabela Kafka.
Observe que estamos usando o formato JSONAsObject, que garante que as mensagens recebidas fiquem disponíveis como um objeto JSON. Esse formato só pode ser interpretado em uma tabela que tenha uma única coluna do tipo JSON. Em seguida, criaremos a tabela subjacente para armazenar os dados da Wiki:
Por fim, vamos criar uma visão materializada para popular a tabela wiki:

Consultando dados JSON no ClickHouse

Em seguida, podemos fazer consultas na tabela wiki. Por exemplo, poderíamos contar o número de bots que fizeram alterações:
Ou podemos descobrir quais usuários fazem mais alterações na en.wikipedia.org:
Última modificação em 3 de julho de 2026