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

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

circle-info

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

Функции панели

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

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

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

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

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

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

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

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

  • Python 3.8+

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

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

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

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

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

triangle-exclamation

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

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

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

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

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

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

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

Хост

DB_HOST в .env файле

Адрес сервера базы данных, указанный в вашем приветственном письме

Порт

DB_PORT в .env файле

По умолчанию для PostgreSQL используется порт 5432

Имя базы данных

DB_NAME в .env файле

Назначенное вам имя базы данных

Имя пользователя

DB_USER в .env файле

Ваше имя пользователя базы данных

Пароль

DB_PASS в .env файле

Ваш защищённый пароль базы данных

Режим SSL

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

Установите в require в строке подключения

Схема

DB_SCHEMA в .env файле

Укажите схему (raw_business_data или raw_telematics_data)

2. Получение учетных данных

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

circle-info

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

Запуск панели

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

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

Откройте указанный URL в браузере. Панель будет доступна по адресу http://localhost:8501arrow-up-right (или по сетевому 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 к вашей инстанции Private Telematics Lakehouse мы рекомендуем вам:

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

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

Поддержка

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

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

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