Visão geral
- Como configurar o Kafka no Ubuntu
- Fazer a ingestão de um fluxo de dados em um tópico Kakfa
- Criar uma tabela do ClickHouse que se inscreve no tópico
1. Configurar o Kafka no Ubuntu
- Crie uma instância Ubuntu ec2 e conecte-se a ela via SSH:
- Instale o Kafka (com base nas instruções disponíveis aqui: https://www.linode.com/docs/guides/how-to-install-apache-kafka-on-ubuntu/):
- Inicie o ZooKeeper:
- Abra um novo terminal e inicie o Kafka:
- Abra um terceiro terminal e crie um tópico chamado wikimedia:
- Você pode verificar se ele foi criado com sucesso da seguinte forma:
2. Faça a ingestão do stream da Wikimedia no Kafka
- Primeiro, precisamos de alguns utilitários:
- Os dados são enviados ao Kafka usando um comando curl inteligente que captura os eventos mais recentes da Wikimedia, extrai os dados em JSON e os envia para o tópico do Kafka:
- Você pode “descrever” o tópico:
- Vamos verificar se tudo está funcionando consumindo alguns eventos:
- Pressione Ctrl+c para interromper o comando anterior.
3. Faça a ingestão dos dados no ClickHouse
- Veja como são os dados recebidos:
- Precisaremos do motor de tabela Kafka para extrair os dados do tópico do Kafka:
- Por algum motivo, o motor de tabela Kafka parece pegar a URL pública do ec2 e convertê-la em um nome DNS privado, então tive que adicioná-lo ao meu arquivo local
/etc/hosts:
- Você pode ler de uma tabela do Kafka; basta habilitar uma configuração:
- Precisamos de uma tabela MergeTree para armazenar esses eventos recebidos:
- Vamos definir uma visão materializada que é acionada quando ocorre um insert na tabela Kafka e envia os dados para a nossa tabela rawEvents:
- Você deve começar a ver dados chegando em rawEvents quase imediatamente:
- Vamos ver algumas das linhas:
- Vamos ver quais tipos de eventos estão chegando:
- Precisaremos das funções -Merge para ver os resultados: