# Conexión a Apache Superset

En este artículo, recorreremos el proceso de conectar Apache Superset a la base de datos analítica. Para hacerlo más ilustrativo, también construiremos un panel que se conecta a la base de datos analítica y supervisa el estado en tiempo real de los vehículos, todo utilizando Apache Superset.

{% hint style="info" %}
Esta guía forma parte de la **Consulta de IoT** suite de documentación y cubre específicamente la conexión de Power BI a su almacén de datos. Si aún está decidiendo qué herramienta de BI usar, consulte la [Seleccionar herramientas de BI](https://www.navixy.com/docs/analytics/es/iot-query/connection-setup/selecting-bi-tools) visión general.
{% endhint %}

## Funciones del panel

* Mostrar número total de objetos
* Visualizar estados de movimiento del vehículo (en movimiento/detenido/aparcado)
* Visualizar estados de conexión (activo/inactivo/desconectado)
* Tabla detallada con el estado actual de todos los vehículos
* Filtrado por tipo de vehículo, grupo, estado de movimiento y estado de conexión
* Capacidades de exportación de datos e informes
* Notificaciones y alertas personalizables

## Requisitos técnicos

* Docker y Docker Compose
* Mínimo 4 GB de RAM (se recomiendan 8 GB)
* 20 GB de espacio libre en disco
* Linux/Windows con WSL2/macOS
* Python 3.8+
* Acceso a Internet para la conexión a la base de datos

## Instalación y configuración

### 1. Instalación con Docker (método recomendado)

1. Instale Docker y Docker Compose siguiendo la documentación oficial:

* [Instalación de Docker](https://docs.docker.com/engine/install/)
* [Instalación de Docker Compose](https://docs.docker.com/compose/install/)

2. Descargue el archivo docker-compose oficial:

{% code overflow="wrap" %}

```sh
curl -fL https://raw.githubusercontent.com/apache/superset/master/docker-compose-non-dev.yml -o docker-compose.yml
```

{% endcode %}

3. Iniciar Superset:

```sh
docker-compose up -d
```

4. Crear un administrador:

```sh
docker-compose exec superset superset fab create-admin \
  --username admin \
  --firstname Superset \
  --lastname Admin \
  --email admin@superset.com \
  --password admin
```

5. Inicializar la base de datos:

```sh
docker-compose exec superset superset db upgrade
```

6. Cargar ejemplos e inicializar roles:

```sh
docker-compose exec superset superset init
```

### 2. Instalación con pip (para desarrollo)

1. Crear un entorno virtual:

```sh
python -m venv venv
source venv/bin/activate  # para Linux/macOS
# o
.\venv\Scripts\activate  # para Windows
```

2. Instalar Superset:

```sh
pip install apache-superset
```

3. Inicializar la base de datos:

```sh
superset db upgrade
```

4. Crear un administrador:

```sh
export FLASK_APP=superset
superset fab create-admin
```

5. Cargar ejemplos e inicializar roles:

```sh
superset init
```

6. Iniciar Superset:

```sh
superset run -p 8088 --with-threads --reload --debugger
```

## Conexión a la base de datos

1. Inicie sesión en Superset (por defecto: <http://localhost:8088>)
2. Navegue a Data → Databases
3. Haga clic en "+" para agregar una nueva base de datos
4. Rellene los parámetros de conexión:
   1. Base de datos: PostgreSQL
   2. URI de SQLAlchemy: `postgresql://${DB_USER}:${DB_PASS}@${DB_HOST}:${DB_PORT}/${DB_NAME}`
   3. Nombre para mostrar: Analytics Database
   4. Extra: `{"engine_params": {"connect_args": {"sslmode": "require"}}}`
5. Haga clic **Probar conexión** para verificar la conexión
6. Guardar la configuración

### Referencia de parámetros de conexión

<table><thead><tr><th width="177.9090576171875">Parámetro Lakehouse</th><th>Ubicación de la configuración en Apache Superset</th><th>Notas</th></tr></thead><tbody><tr><td><strong>Host</strong></td><td><code>DB_HOST</code> en URI de SQLAlchemy</td><td>La dirección del servidor de base de datos proporcionada en su correo electrónico de bienvenida</td></tr><tr><td><strong>Puerto</strong></td><td><code>DB_PORT</code> en URI de SQLAlchemy</td><td>Por defecto es 5432 para PostgreSQL</td></tr><tr><td><strong>Nombre de la base de datos</strong></td><td><code>DB_NAME</code> en URI de SQLAlchemy</td><td>El nombre de base de datos asignado</td></tr><tr><td><strong>Nombre de usuario</strong></td><td><code>DB_USER</code> en URI de SQLAlchemy</td><td>Su nombre de usuario de la base de datos</td></tr><tr><td><strong>Contraseña</strong></td><td><code>DB_PASS</code> en URI de SQLAlchemy</td><td>Su contraseña segura de la base de datos</td></tr><tr><td><strong>Modo SSL</strong></td><td><code>connect_args</code> en parámetros Extra</td><td>Establecer en <strong>require</strong> en la configuración JSON Extra</td></tr><tr><td><strong>Esquema</strong></td><td>Configuración del conjunto de datos</td><td>Especifique el esquema (<code>raw_business_data</code> o <code>raw_telematics_data</code>) en cada conjunto de datos</td></tr></tbody></table>

## Importación de paneles y gráficos

1. Clonar el [bi-integratons](https://github.com/SquareGPS/bi-intergrations) repositorio:

```sh
git clone https://github.com/SquareGPS/bi-intergrations.git
```

2. En Superset, vaya a **Settings → Import/Export**
3. Importe los archivos en el siguiente orden:
   1. `datasets.json` - conjuntos de datos
   2. `charts.json` - gráficos
   3. `dashboards.json` - paneles
4. Después de importar, actualice las conexiones de base de datos en cada conjunto de datos

## Resolución de problemas

### Problemas de conexión a la base de datos

* **Error de conexión:** Verifique la corrección de las credenciales y los parámetros de conexión
* **Error de firewall:** Asegúrese de que su dirección IP esté agregada a la lista de permitidos
* **Problemas de SSL:** Compruebe la configuración SSL en los parámetros de conexión

### Problemas de rendimiento

* **Carga lenta de visualizaciones:**
  * Optimice las consultas SQL
  * Reduzca el número de elementos mostrados simultáneamente
  * Use almacenamiento en caché de resultados
* **Alto uso de memoria:**
  * Aumente los recursos del contenedor Docker
  * Optimice las consultas a la base de datos

### Otros problemas

Aquí hay algunos trucos que pueden ayudarle a solucionar problemas comunes:

1. Compruebe los registros de Superset:

```
docker-compose logs superset
```

2. Reiniciar contenedores:

```
docker-compose restart
```

3. Borrar la caché del navegador
4. Comprobar la versión de Superset y actualizar si es necesario

## Próximos pasos

Después de conectar correctamente Power BI a su **Consulta de IoT** instancia, le recomendamos:

* Explore los esquemas de datos disponibles revisando la sección [Descripción del esquema](https://www.navixy.com/docs/analytics/es/iot-query/schema-overview) para comprender mejor la estructura de los datos y las relaciones.
* Comience con consultas simples centradas en entidades comerciales específicas antes de construir paneles complejos: consulte nuestras [consultas de ejemplo](https://www.navixy.com/docs/analytics/es/example-queries) para referencia.

### **Soporte**

Para preguntas técnicas o solicitudes de acceso a la base de datos de demostración, comuníquese con: <support@squaregps.com>
