Objetivo
- Carregar os dados do OpenCelliD no ClickHouse
- Conectar o Apache Superset ao ClickHouse
- Criar um dashboard com base nos dados disponíveis no conjunto de dados
Obtenha o conjunto de dados
- ClickHouse Cloud
- Autogerenciado
Carregue os dados de exemplo
O ClickHouse Cloud oferece uma forma simples de carregar esse conjunto de dados a partir do S3. Faça login na sua organização do ClickHouse Cloud ou crie uma avaliação gratuita em ClickHouse.cloud.Selecione seu serviço e, em seguida,Data sources -> Predefined sample data.Escolha o conjunto de dados Cell Towers na aba Dados de exemplo e clique em Carregar dados:Examine o schema da tabela cell_towers
Conectar ao Console SQL
Conectar ao Console SQL
Na sua lista de serviços do ClickHouse Cloud, clique em um serviço.Isso vai redirecionar você para o Console SQL.
DESCRIBE. Mais adiante neste guia, explicaremos as escolhas dos tipos de campo.Execute algumas consultas de exemplo
- O número de torres de celular por tipo:
- Torres de celular por código de país móvel (MCC):
Caso de uso: incorporar dados geoespaciais
pointInPolygon.
- Crie uma tabela na qual armazenaremos polígonos:
- ClickHouse Cloud
- Autogerenciado
- Este é um contorno aproximado de Moscou (sem a “nova Moscou”):
- Verifique quantas torres de celular existem em Moscou:
Revisão do schema
O schema desta tabela foi projetado para armazenamento compacto em disco e rapidez nas consultas.
- Os dados de
radiosão armazenados comoEnum8(UInt8) em vez de uma string. mcc, ou Mobile country code, é armazenado comoUInt16, pois sabemos que o intervalo vai de 1 a 999.lonelatsãoFloat64.
Crie visualizações com o Apache Superset
pip install clickhouse-connect. Se precisar instalar o Superset, abra a seção Launch Apache Superset in Docker logo abaixo.
Inicie o Apache Superset no Docker
Inicie o Apache Superset no Docker
O Superset fornece instruções para instalar o Superset localmente usando Docker Compose. Depois de clonar o repositório do Apache Superset no GitHub, você pode executar o código de desenvolvimento mais recente ou uma tag específica. Recomendamos a versão 2.0.0, pois é a versão mais recente que não está marcada como
pre-release.Há algumas tarefas a serem concluídas antes de executar o docker compose:- Adicione o driver oficial do ClickHouse Connect
- Obtenha uma API key do Mapbox e adicione-a como variável de ambiente (opcional)
- Especifique a versão do Superset a ser executada
Driver oficial do ClickHouse Connect
Para disponibilizar o driver do ClickHouse Connect na implantação do Superset, adicione-o ao arquivo local de requisitos:Mapbox
Isso é opcional: você pode plotar dados de localização no Superset sem uma API key do Mapbox, mas verá uma mensagem informando que deve adicionar uma chave, e a imagem de fundo do mapa ficará ausente (você verá apenas os pontos de dados, e não o fundo do mapa). O Mapbox oferece um plano gratuito caso você queira usá-lo.Algumas das visualizações de exemplo que os guias orientam você a criar usam dados de localização, como longitude e latitude. O Superset inclui suporte a mapas do Mapbox. Para usar as visualizações do Mapbox, você precisa de uma API key do Mapbox. Cadastre-se no plano gratuito do Mapbox e gere uma API key.Disponibilize a API key para o Superset:Implantar a versão 2.0.0 do Superset
Para implantar a versão 2.0.0, execute:- Adicionar seu serviço ClickHouse como um banco de dados no Superset
- Adicionar a tabela cell_towers como um conjunto de dados no Superset
- Criar alguns gráficos
- Adicionar os gráficos a um dashboard
Adicione seu serviço do ClickHouse como um banco de dados no Superset
Os detalhes do seu serviço do ClickHouse Cloud estão disponíveis no console do ClickHouse Cloud.
Selecione um serviço e clique em Connect:
Escolha HTTPS. Os detalhes de conexão são exibidos em um comando
curl de exemplo.
Se você estiver usando ClickHouse autogerenciado, os detalhes de conexão são definidos pelo administrador do seu ClickHouse.
No Superset, é possível adicionar um banco de dados escolhendo o tipo de banco e, em seguida, informando os detalhes da conexão. Abra o Superset e procure o +; nele, há um menu com as opções Data e depois Connect database.
Escolha ClickHouse Connect na lista:
Se ClickHouse Connect não estiver entre as opções, será necessário instalá-lo. O comando é
pip install clickhouse-connect, e mais informações estão disponíveis aqui.Adicione os detalhes da sua conexão
Adicione a tabela cell_towers como um conjunto de dados no Superset
default) e a tabela cell_towers:
Crie alguns gráficos
cell_towers) e o tipo de gráfico. Como o conjunto de dados OpenCelliD fornece coordenadas de longitude e latitude das torres de celular, vamos criar um gráfico de mapa. O tipo deck.gL Scatterplot é adequado para esse conjunto de dados, pois funciona bem com pontos de dados densos em um mapa.
Especifique a consulta usada para o mapa
lon e lat contêm a longitude e a latitude:
Adicione um filtro com mcc = 204 (ou substitua por qualquer outro valor de mcc):
Adicione um filtro com radio = 'UMTS' (ou substitua por qualquer outro valor de radio; você pode ver as opções na saída de DESCRIBE TABLE cell_towers):
Esta é a configuração completa do gráfico que filtra por radio = 'UMTS' e mcc = 204:
Clique em UPDATE CHART para exibir a visualização.