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
| Coluna | Descrição |
|---|---|
| radio | Geração da tecnologia: CDMA, GSM, UMTS, 5G NR |
| mcc | Mobile Country Code: 204 corresponde aos Países Baixos |
| lon | Longitude: junto com Latitude, localização aproximada da torre |
| lat | Latitude: junto com Longitude, localização aproximada da torre |
- 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
| Parâmetro(s) | Descrição |
|---|---|
HOST and PORT | Normalmente, a porta é 8443 ao usar TLS ou 8123 quando não se usa TLS. |
DATABASE NAME | Por padrão, há um banco de dados chamado default; use o nome do banco de dados ao qual você deseja se conectar. |
USERNAME and PASSWORD | Por padrão, o nome de usuário é default. Use o nome de usuário apropriado para o seu caso de uso. |
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.