> For the complete documentation index, see [llms.txt](https://navixy.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://navixy.com/docs/analytics/ru/iot-query/connection-setup/selecting-bi-tools/connecting-apache-superset.md).

# Подключение Apache Superset

Подключите Apache Superset к IoT Query через драйвер PostgreSQL. Настройте подключение к базе данных и создавайте интерактивные панели мониторинга автопарка

В этой статье мы по шагам разберем процесс подключения Apache Superset к аналитической базе данных. Чтобы сделать пример более наглядным, мы также создадим панель мониторинга, которая подключается к аналитической базе данных и отслеживает статус транспортных средств в реальном времени, и все это с помощью Apache Superset.

{% hint style="info" %}
Это руководство является частью **IoT Query** набора документации и в частности описывает подключение Power BI к вашему хранилищу данных. Если вы еще выбираете, какой BI-инструмент использовать, обратитесь к [Выбор BI-инструментов](/docs/analytics/ru/iot-query/connection-setup/selecting-bi-tools.md) обзору.
{% endhint %}

## Возможности панели мониторинга

* Показывать общее количество объектов
* Визуализировать статусы движения транспортных средств (Движется/Остановился/Стоит)
* Визуализировать статусы подключения (активен/в простое/Оффлайн)
* Подробная таблица с текущим статусом всех транспортных средств
* Фильтрация по типу транспортного средства, группе, статусу движения и статусу подключения
* Возможности экспорта данных и отчетов
* Настраиваемые уведомления и оповещения

## Технические требования

* Docker и Docker Compose
* Минимум 4 ГБ ОЗУ (рекомендуется 8 ГБ)
* 20 ГБ свободного места на диске
* Linux/Windows с WSL2/macOS
* Python 3.8+
* Доступ в интернет для подключения к базе данных

## Установка и настройка

### 1. Установка с Docker (рекомендуемый способ)

1. Установите Docker и Docker Compose, следуя официальной документации:

* [Установка Docker](https://docs.docker.com/engine/install/)
* [Установка Docker Compose](https://docs.docker.com/compose/install/)

2. Скачайте официальный файл docker-compose:

{% code overflow="wrap" %}

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

{% endcode %}

3. Запустите Superset:

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

4. Создайте администратора:

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

5. Инициализируйте базу данных:

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

6. Загрузите примеры и инициализируйте роли:

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

### 2. Установка с pip (для разработки)

1. Создайте виртуальное окружение:

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

2. Установите Superset:

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

3. Инициализируйте базу данных:

```sh
superset db upgrade
```

4. Создайте администратора:

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

5. Загрузите примеры и инициализируйте роли:

```sh
superset init
```

6. Запустите Superset:

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

## Подключение к базе данных

1. Войдите в Superset (по умолчанию: <http://localhost:8088>)
2. Перейдите в Данные → Базы данных
3. Нажмите "+", чтобы добавить новую базу данных
4. Заполните параметры подключения:
   1. База данных: PostgreSQL
   2. URI SQLAlchemy: `postgresql://${DB_USER}:${DB_PASS}@${DB_HOST}:${DB_PORT}/${DB_NAME}`
   3. Отображаемое имя: Аналитическая база данных
   4. Дополнительно: `{"engine_params": {"connect_args": {"sslmode": "require"}}}`
5. Нажмите **Проверить подключение** для проверки подключения
6. Сохраните настройки

### Справочник параметров подключения

<table><thead><tr><th width="177.9090576171875">Параметр Lakehouse</th><th>Расположение настройки Apache Superset</th><th>Примечания</th></tr></thead><tbody><tr><td><strong>Хост</strong></td><td><code>DB_HOST</code> в SQLAlchemy URI</td><td>Адрес сервера базы данных, указанный в приветственном письме</td></tr><tr><td><strong>Порт</strong></td><td><code>DB_PORT</code> в SQLAlchemy URI</td><td>По умолчанию 5432 для PostgreSQL</td></tr><tr><td><strong>Имя базы данных</strong></td><td><code>DB_NAME</code> в SQLAlchemy URI</td><td>Назначенное вам имя базы данных</td></tr><tr><td><strong>Имя пользователя</strong></td><td><code>DB_USER</code> в SQLAlchemy URI</td><td>Ваше имя пользователя базы данных</td></tr><tr><td><strong>Пароль</strong></td><td><code>DB_PASS</code> в SQLAlchemy URI</td><td>Ваш защищенный пароль базы данных</td></tr><tr><td><strong>Режим SSL</strong></td><td><code>connect_args</code> в дополнительных параметрах</td><td>Установите <strong>require</strong> в дополнительной JSON-конфигурации</td></tr><tr><td><strong>Схема</strong></td><td>Настройка набора данных</td><td>Укажите схему (<code>raw_business_data</code> или <code>raw_telematics_data</code>) в каждом наборе данных</td></tr></tbody></table>

## Импорт панели мониторинга и графиков

1. Склонируйте [bi-integratons](https://github.com/Navixy/bi-integrations) репозиторий:

```sh
git clone https://github.com/Navixy/bi-integrations.git
```

2. В Superset перейдите в **Настройки → Импорт/Экспорт**
3. Импортируйте файлы в следующем порядке:
   1. `datasets.json` - наборы данных
   2. `charts.json` - графики
   3. `dashboards.json` - панели мониторинга
4. После импорта обновите подключения к базе данных в каждом наборе данных

## Устранение неполадок

### Проблемы с подключением к базе данных

* **Ошибка подключения:** Проверьте правильность учетных данных и параметров подключения
* **Ошибка брандмауэра:** Убедитесь, что ваш IP-адрес добавлен в список разрешенных
* **Проблемы с SSL:** Проверьте настройки SSL в параметрах подключения

### Проблемы с производительностью

* **Медленная загрузка визуализаций:**
  * Оптимизируйте SQL-запросы
  * Сократите количество одновременно отображаемых элементов
  * Используйте кеширование результатов
* **Высокое потребление памяти:**
  * Увеличьте ресурсы контейнера Docker
  * Оптимизируйте запросы к базе данных

### Другие проблемы

Вот несколько приемов, которые помогут вам решить распространенные проблемы:

1. Проверьте логи Superset:

```
docker-compose logs superset
```

2. Перезапустите контейнеры:

```
docker-compose restart
```

3. Очистите кеш браузера
4. Проверьте версию Superset и обновите ее при необходимости

## Следующие шаги

После успешного подключения Power BI к вашему **IoT Query** экземпляру рекомендуем вам:

* Изучите доступные схемы данных, ознакомившись с [Обзор схемы](/docs/analytics/ru/iot-query/schema-overview.md) раздел, чтобы лучше понять структуру данных и связи.
* Начните с простых запросов, ориентированных на конкретные бизнес-сущности, прежде чем создавать сложные панели мониторинга, — ознакомьтесь с нашими [примерами запросов](/docs/analytics/ru/example-queries.md) для справки.

### **Поддержка**

По техническим вопросам или запросам на доступ к демонстрационной базе данных, пожалуйста, свяжитесь с: <support@squaregps.com>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://navixy.com/docs/analytics/ru/iot-query/connection-setup/selecting-bi-tools/connecting-apache-superset.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
