Подключение Streamlit
В этой статье мы пройдем процесс создания панели мониторинга с использованием Streamlit. Чтобы сделать пример более наглядным, мы создадим панель, которая подключается к аналитической базе данных и отслеживает состояние транспорта в реальном времени.
Функции панели мониторинга
Отображение общего количества объектов
Визуализация состояний движения (движется/остановлен/припаркован)
Визуализация статусов подключения (активен/неактивен/офлайн)
Детализированная таблица с текущим состоянием всех транспортных средств
Фильтрация по типу транспортного средства, группе, статусу движения и статусу подключения
Автоматическое обновление данных каждые 5 минут
Переключение между светлой и темной темами
Технические требования
Python 3.8+
Доступ в Интернет для подключения к базе данных
Минимум 2 ГБ ОЗУ
Установка и настройка
1. Клонируйте репозиторий
2. Создайте виртуальное окружение
Убедитесь, что у вас установлен Python версии 3.8 или выше. Вы можете проверить версию командой python --version.
3. Установите зависимости
После активации виртуального окружения установите все необходимые библиотеки:
Подключение к базе данных
1. Создайте файл конфигурации
Создайте .env файл в корневой директории проекта:
Справочник параметров подключения
Хост
DB_HOST в .env файле
Адрес сервера базы данных, указанный в вашем приветственном письме
Порт
DB_PORT в .env файле
По умолчанию 5432 для PostgreSQL
Имя базы данных
DB_NAME в .env файле
Назначенное вам имя базы данных
Имя пользователя
DB_USER в .env файле
Ваше имя пользователя базы данных
Пароль
DB_PASS в .env файле
Ваш безопасный пароль для базы данных
Режим SSL
Строка подключения в Python-коде
Установите require в строке подключения
Схема
DB_SCHEMA в .env файле
Укажите схему (raw_business_data или raw_telematics_data)
2. Получение учетных данных
Запросите учетные данные для подключения к демонстрационной базе данных, обратившись к администратору.
Запуск панели мониторинга
После настройки подключения к базе данных запустите панель командой:
После запуска вы увидите сообщение, похожее на следующее:
Откройте указанный URL в браузере. Панель будет доступна по адресу http://localhost:8501 (или по сетевому URL, если вы хотите открыть её с другого устройства в сети).
Разработка собственных компонентов
Если вы хотите изменить панель или создать новые компоненты:
1. Изменение существующей панели
Streamlit автоматически перезагружает приложение при изменении исходного кода. Просто отредактируйте moving_status_dashboard.py файл и сохраните изменения.
2. Добавление новых визуализаций
Чтобы добавить новые графики и диаграммы, используйте библиотеки:
Plotly:
import plotly.express as pxилиimport plotly.graph_objects as goВстроенные визуализации Streamlit:
st.bar_chart(),st.line_chart(), и т.д.
Пример добавления нового графика:
3. Отладка
Для отладки используйте
Устранение неполадок
Проблемы с подключением к базе данных
Ошибка подключения: Проверьте корректность учетных данных в
.envфайле и доступность базы данныхОшибка SSL: Убедитесь, что ваш IP добавлен в allowlist для доступа к базе данных
Ошибки тайм-аута: Проверьте стабильность интернет-соединения и настройки брандмауэра
Проблемы с зависимостями
Ошибка при установке psycopg2-binary:
Windows:
pip install pipwin && pipwin install psycopg2-binaryLinux:
sudo apt install python3-dev libpq-devmacOS:
brew install postgresql
Конфликты зависимостей:
Создайте новое виртуальное окружение
Устанавливайте зависимости по одному, начиная с streamlit
Прочие проблемы
Вот несколько приёмов, которые могут помочь исправить распространённые проблемы:
Обновление зависимостей:
pip install -r requirements.txt --upgradeПроверьте совместимость с Python:
python --version(должен быть 3.8+)При изменении кода добавляйте отладочные сообщения:
Ошибки кэша Streamlit: остановите приложение и запустите с флагом
--clear_cacheфлаг:
Дальнейшие шаги
После успешного подключения Power BI к вашей приватной инстанции Telematics Lakehouse мы рекомендуем вам:
Изучить доступные схемы данных, просмотрев раздел Обзор схемы чтобы лучше понять структуру данных и взаимосвязи.
Начните с простых запросов, сфокусированных на конкретных бизнес‑сущностях, перед созданием сложных панелей — ознакомьтесь с нашими примерными запросами в качестве примера.
Поддержка
По техническим вопросам или запросам доступа к демонстрационной базе данных обращайтесь по адресу: [email protected]
Последнее обновление
Это было полезно?