Подключение Streamlit

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

Это руководство входит в комплект документации DataHub и посвящено непосредственно подключению Power BI к вашему хранилищу данных. Если вы ещё выбираете BI-инструмент, обратитесь к Выбор инструментов BI обзору.

Функции панели мониторинга

  • Отображение общего количества объектов

  • Визуализация состояний движения (движется/остановлен/припаркован)

  • Визуализация статусов подключения (активен/неактивен/офлайн)

  • Детализированная таблица с текущим состоянием всех транспортных средств

  • Фильтрация по типу транспортного средства, группе, статусу движения и статусу подключения

  • Автоматическое обновление данных каждые 5 минут

  • Переключение между светлой и темной темами

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

  • Python 3.8+

  • Доступ в Интернет для подключения к базе данных

  • Минимум 2 ГБ ОЗУ

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

1. Клонируйте репозиторий

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

3. Установите зависимости

После активации виртуального окружения установите все необходимые библиотеки:

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

1. Создайте файл конфигурации

Создайте .env файл в корневой директории проекта:

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

Параметр Lakehouse
Расположение настроек Streamlit
Примечания

Хост

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. Получение учетных данных

Запросите учетные данные для подключения к демонстрационной базе данных, обратившись к администратору.

Расстояние по формуле .env файл не должен попадать в систему контроля версий (GitHub) для обеспечения безопасности учетных данных. Файл .gitignore уже настроен так, чтобы исключать этот файл.

Запуск панели мониторинга

После настройки подключения к базе данных запустите панель командой:

После запуска вы увидите сообщение, похожее на следующее:

Откройте указанный 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-binary

  • Linux: sudo apt install python3-dev libpq-dev

  • macOS: brew install postgresql

Конфликты зависимостей:

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

  • Устанавливайте зависимости по одному, начиная с streamlit

Прочие проблемы

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

  1. Обновление зависимостей: pip install -r requirements.txt --upgrade

  2. Проверьте совместимость с Python: python --version (должен быть 3.8+)

  3. При изменении кода добавляйте отладочные сообщения:

  1. Ошибки кэша Streamlit: остановите приложение и запустите с флагом --clear_cache флаг:

Дальнейшие шаги

После успешного подключения Power BI к вашей приватной инстанции Telematics Lakehouse мы рекомендуем вам:

  • Изучить доступные схемы данных, просмотрев раздел Обзор схемы чтобы лучше понять структуру данных и взаимосвязи.

  • Начните с простых запросов, сфокусированных на конкретных бизнес‑сущностях, перед созданием сложных панелей — ознакомьтесь с нашими примерными запросами в качестве примера.

Поддержка

По техническим вопросам или запросам доступа к демонстрационной базе данных обращайтесь по адресу: [email protected]

Последнее обновление

Это было полезно?