# Conectando o Apache Superset

Neste artigo, iremos percorrer o processo de conexão do Apache Superset ao banco de dados analítico. Para tornar mais ilustrativo, também construiremos um painel que se conecta ao banco de dados analítico e monitora o status em tempo real dos veículos, tudo usando o Apache Superset.

{% hint style="info" %}
Este guia faz parte do **Consulta IoT** conjunto de documentação e cobre especificamente a conexão do Power BI ao seu data warehouse. Se você ainda está decidindo qual ferramenta de BI usar, consulte o [Selecionando ferramentas de BI](https://www.navixy.com/docs/analytics/pt-br/iot-query/connection-setup/selecting-bi-tools) visão geral.
{% endhint %}

## Recursos do painel

* Exibir número total de objetos
* Visualizar status de movimento dos veículos (em movimento/parado/estacionado)
* Visualizar status de conexão (ativo/ocioso/offline)
* Tabela detalhada com o status atual de todos os veículos
* Filtragem por tipo de veículo, grupo, status de movimento e status de conexão
* Capacidades de exportação de dados e relatórios
* Notificações e alertas personalizáveis

## Requisitos técnicos

* Docker e Docker Compose
* Mínimo de 4 GB de RAM (8 GB recomendados)
* 20 GB de espaço livre em disco
* Linux/Windows com WSL2/macOS
* Python 3.8+
* Acesso à Internet para conexão ao banco de dados

## Instalação e configuração

### 1. Instalação com Docker (método recomendado)

1. Instale o Docker e o Docker Compose seguindo a documentação oficial:

* [Instalação do Docker](https://docs.docker.com/engine/install/)
* [Instalação do Docker Compose](https://docs.docker.com/compose/install/)

2. Faça o download do arquivo 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. Inicie o Superset:

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

4. Crie um administrador:

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

5. Inicialize o banco de dados:

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

6. Carregue exemplos e inicialize funções:

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

### 2. Instalação com pip (para desenvolvimento)

1. Crie um ambiente virtual:

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

2. Instale o Superset:

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

3. Inicialize o banco de dados:

```sh
superset db upgrade
```

4. Crie um administrador:

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

5. Carregue exemplos e inicialize funções:

```sh
superset init
```

6. Inicie o Superset:

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

## Conexão com o banco de dados

1. Faça login no Superset (padrão: <http://localhost:8088>)
2. Navegue até Dados → Bancos de dados
3. Clique em "+" para adicionar um novo banco de dados
4. Preencha os parâmetros de conexão:
   1. Banco de dados: PostgreSQL
   2. URI SQLAlchemy: `postgresql://${DB_USER}:${DB_PASS}@${DB_HOST}:${DB_PORT}/${DB_NAME}`
   3. Nome de exibição: Analytics Database
   4. Extra: `{"engine_params": {"connect_args": {"sslmode": "require"}}}`
5. Clique **Testar conexão** para verificar a conexão
6. Salve as configurações

### Referência de parâmetros de conexão

<table><thead><tr><th width="177.9090576171875">Parâmetro Lakehouse</th><th>Local de configuração no Apache Superset</th><th>Observações</th></tr></thead><tbody><tr><td><strong>Host</strong></td><td><code>DB_HOST</code> na URI SQLAlchemy</td><td>O endereço do servidor de banco de dados fornecido no seu e-mail de boas-vindas</td></tr><tr><td><strong>Porta</strong></td><td><code>DB_PORT</code> na URI SQLAlchemy</td><td>Padrão é 5432 para PostgreSQL</td></tr><tr><td><strong>Nome do banco de dados</strong></td><td><code>DB_NAME</code> na URI SQLAlchemy</td><td>O nome do banco de dados atribuído a você</td></tr><tr><td><strong>Nome de usuário</strong></td><td><code>DB_USER</code> na URI SQLAlchemy</td><td>Seu nome de usuário do banco de dados</td></tr><tr><td><strong>Senha</strong></td><td><code>DB_PASS</code> na URI SQLAlchemy</td><td>Sua senha segura do banco de dados</td></tr><tr><td><strong>Modo SSL</strong></td><td><code>connect_args</code> nos parâmetros Extra</td><td>Defina como <strong>require</strong> na configuração JSON Extra</td></tr><tr><td><strong>Esquema</strong></td><td>Configuração do conjunto de dados</td><td>Especifique o esquema (<code>raw_business_data</code> ou <code>raw_telematics_data</code>) em cada conjunto de dados</td></tr></tbody></table>

## Importação de painel e gráficos

1. Clone o [bi-integratons](https://github.com/SquareGPS/bi-intergrations) repositório:

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

2. No Superset, vá para **Configurações → Importar/Exportar**
3. Importe os arquivos na seguinte ordem:
   1. `datasets.json` - conjuntos de dados
   2. `charts.json` - gráficos
   3. `dashboards.json` - painéis
4. Após a importação, atualize as conexões de banco de dados em cada conjunto de dados

## Solução de problemas

### Problemas de conexão com o banco de dados

* **Erro de conexão:** Verifique a correção das credenciais e dos parâmetros de conexão
* **Erro de firewall:** Garanta que o seu endereço IP esteja adicionado à lista de permitidos
* **Problemas de SSL:** Verifique as configurações de SSL nos parâmetros de conexão

### Problemas de desempenho

* **Carregamento lento das visualizações:**
  * Otimize as consultas SQL
  * Reduza o número de elementos exibidos simultaneamente
  * Use cache de resultados
* **Alto uso de memória:**
  * Aumente os recursos do contêiner Docker
  * Otimize as consultas ao banco de dados

### Outros problemas

Aqui estão alguns truques que podem ajudá-lo a corrigir problemas comuns:

1. Verifique os logs do Superset:

```
docker-compose logs superset
```

2. Reinicie os contêineres:

```
docker-compose restart
```

3. Limpe o cache do navegador
4. Verifique a versão do Superset e atualize se necessário

## Próximos passos

Após conectar com sucesso o Power BI à sua **Consulta IoT** instância, recomendamos que você:

* Explore os esquemas de dados disponíveis revisando a [Visão geral do esquema](https://www.navixy.com/docs/analytics/pt-br/iot-query/schema-overview) seção para entender melhor a estrutura e os relacionamentos dos dados.
* Comece com consultas simples focadas em entidades de negócio específicas antes de construir painéis complexos - consulte nossas [consultas de exemplo](https://www.navixy.com/docs/analytics/pt-br/example-queries) para referência.

### **Suporte**

Para questões técnicas ou solicitações de acesso ao banco de dados de demonstração, entre em contato com: <support@squaregps.com>
