Objetivo
- Cargar los datos de OpenCelliD en ClickHouse
- Conectar Apache Superset a ClickHouse
- Crear un dashboard con los datos disponibles en el conjunto de datos
Obtener el conjunto de datos
- ClickHouse Cloud
- Autogestionado
Cargar los datos de ejemplo
ClickHouse Cloud ofrece una forma sencilla de cargar este conjunto de datos desde S3. Inicie sesión en su organización de ClickHouse Cloud o cree una prueba gratuita en ClickHouse.cloud.Seleccione su servicio y, a continuación,Data sources -> Predefined sample data.Seleccione el conjunto de datos Cell Towers en la pestaña Sample data y haga clic en Load data:Examinar el esquema de la tabla cell_towers
Conectarse a la consola SQL
Conectarse a la consola SQL
En tu lista de servicios de ClickHouse Cloud, haz clic en un servicio.Esto te redirigirá a la consola SQL.
DESCRIBE. Más adelante en esta guía se describirán las opciones de tipos de campos.Ejecuta algunas consultas de ejemplo
- Número de torres de telefonía móvil por tipo:
- Torres de telefonía móvil por código de país móvil (MCC):
Caso de uso: incorporar datos geográficos
pointInPolygon.
- Cree una tabla en la que almacenaremos polígonos:
- ClickHouse Cloud
- Autogestionado
- Este es un contorno aproximado de Moscú (sin la “Nueva Moscú”):
- Comprueba cuántas torres de telefonía móvil hay en Moscú:
Revisión del esquema
| Columna | Descripción |
|---|---|
| radio | Generación de tecnología: CDMA, GSM, UMTS, 5G NR |
| mcc | Código de país móvil: 204 corresponde a Países Bajos |
| lon | Longitud: junto con la latitud, ubicación aproximada de la torre |
| lat | Latitud: junto con la longitud, ubicación aproximada de la torre |
- Los datos de
radiose almacenan comoEnum8(UInt8) en lugar de una cadena. mcc, o código de país móvil, se almacena comoUInt16, ya que sabemos que el rango va de 1 a 999.lonylatsonFloat64.
Crear visualizaciones con Apache Superset
pip install clickhouse-connect. Si necesitas instalar Superset, abre Launch Apache Superset in Docker justo debajo.
Iniciar Apache Superset en Docker
Iniciar Apache Superset en Docker
Superset proporciona instrucciones para instalar Superset localmente con Docker Compose. Después de clonar el repositorio de Apache Superset desde GitHub, puedes ejecutar el código de desarrollo más reciente o una etiqueta específica. Recomendamos la versión 2.0.0, ya que es la versión más reciente que no está marcada como
pre-release.Hay algunas tareas que deben realizarse antes de ejecutar docker compose:- Agregar el driver oficial de ClickHouse Connect
- Obtener una clave de API de Mapbox y agregarla como variable de entorno (opcional)
- Especificar la versión de Superset que se ejecutará
Driver oficial de ClickHouse Connect
Para que el driver ClickHouse Connect esté disponible en el despliegue de Superset, agrégalo al archivo local de requisitos:Mapbox
Esto es opcional; puedes representar datos de ubicación en Superset sin una clave de API de Mapbox, pero verás un mensaje indicando que debes agregar una clave y faltará la imagen de fondo del mapa (solo verás los puntos de datos y no el fondo del mapa). Mapbox ofrece un nivel gratuito si deseas usarlo.Algunas de las visualizaciones de ejemplo que las guías te indican crear usan datos de ubicación, por ejemplo, longitud y latitud. Superset incluye compatibilidad con mapas de Mapbox. Para usar las visualizaciones de Mapbox, necesitas una clave de API de Mapbox. Regístrate en el nivel gratuito de Mapbox y genera una clave de API.Haz que la clave de API esté disponible para Superset:Desplegar la versión 2.0.0 de Superset
Para desplegar la versión 2.0.0, ejecuta:- Añadir tu servicio de ClickHouse como una base de datos de Superset
- Añadir la tabla cell_towers como un conjunto de datos de Superset
- Crear algunos gráficos
- Añadir los gráficos a un dashboard
Añade tu servicio de ClickHouse como una base de datos de Superset
| Parámetro(s) | Descripción |
|---|---|
HOST and PORT | Normalmente, el puerto es 8443 cuando se usa TLS o 8123 cuando no se usa TLS. |
DATABASE NAME | De forma predeterminada, existe una base de datos llamada default; use el nombre de la base de datos a la que desea conectarse. |
USERNAME and PASSWORD | De forma predeterminada, el nombre de usuario es default. Use el nombre de usuario adecuado para su caso de uso. |
curl de ejemplo.
Si usa ClickHouse autogestionado, los detalles de conexión los establece su administrador de ClickHouse.
En Superset, puedes añadir una base de datos eligiendo su tipo y, después, proporcionando los datos de conexión. Abre Superset y busca el +; allí encontrarás un menú con las opciones Data y luego Connect database.
Elige ClickHouse Connect de la lista:
Si ClickHouse Connect no aparece entre las opciones, tendrás que instalarlo. El comando es
pip install clickhouse-connect, y puedes encontrar más información aquí.Añade tus datos de conexión
Añade la tabla cell_towers como un conjunto de datos de Superset
default) y selecciona la tabla cell_towers:
Crea algunos gráficos
cell_towers) y el tipo de gráfico. Dado que el conjunto de datos OpenCelliD proporciona coordenadas de longitud y latitud de torres de telefonía móvil, crearemos un gráfico de mapa. El tipo deck.gL Scatterplot es adecuado para este conjunto de datos, ya que funciona bien con puntos de datos densos sobre un mapa.
Especifica la consulta utilizada para el mapa
lon y lat contienen la longitud y la latitud:
Añade un filtro con mcc = 204 (o sustitúyelo por cualquier otro valor de mcc):
Añade un filtro con radio = 'UMTS' (o sustitúyelo por cualquier otro valor de radio; puedes ver las opciones en la salida de DESCRIBE TABLE cell_towers):
Esta es la configuración completa del gráfico que filtra por radio = 'UMTS' y mcc = 204:
Haz clic en UPDATE CHART para mostrar la visualización.