Apache Superset: исследование данных и создание Вашего первого дашборда
Все, что Вам нужно знать о том, как извлечь из Apache Superset максимальную пользу
Apache Superset играет важнейшую роль в разработке моделей машинного обучения. Во-первых, он позволяет визуализировать большие наборы данных, что не под силу обычным библиотекам, таким как Pandas и Numpy. Это существенное преимущество, поскольку инженеры машинного обучения (ML-инженеры) считают исследование данных неотъемлемой частью жизненного цикла модели машинного обучения (ML model lifecycle или ML lifecycle). Во-вторых, Вы можете с легкостью создавать интерактивные дашборды, содержащие ответы на все вопросы, касающиеся той или иной бизнес-проблемы. Все это в совокупности с другим функционалом обеспечивает именно ту гибкость, который должен обладать по-настоящему хороший инструмент визуализации данных. Чтобы узнать подробнее об Apache Superset в контексте инструментов MLOps и построения моделей, а также о его сильных сторонах в сравнении с другими аналогичными продуктами, ознакомьтесь с обзором Apache Superset .
Установка Superset
Superset можно установить на компьютер, но мы рекомендуем работать в облаке. Для начала установите Docker Engine и Docker Compose, если они еще не установлены.
Superset можно скачать с GitHub или PyPi.
1. git clone https://github.com/apache/superset.git
2. Переходим в директорию
cd superset
3. docker-compose -f docker-compose-non-dev.yml up
4. Зависимости можно установить следующим образом:
sudo apt-get install build-essential libssl-dev libffi-dev python-dev python-pip libsasl2-dev libldap2-dev
5. pip install — обновим setuptools pip, чтобы обновить pip и предотвратить ошибки, возникающие вследствие использования разных версии
6. export FLASK_APP=superset
7. pip install superset
8. Следующие шаги позволят нам создать пользователя admin, обновить подключение к базе данных Superset, а также по желанию загрузить несколько примеров при запуске Superset, инициализировать роли и привилегии пользователей и запустить сервер Superset на порту 8088.
9. fabmanager create-admin — app superset
10. superset db upgrade
11. superset load_examples (по желанию)
12. superset init
13. superset run -p 8088 — with-threads — reload -debugger
После установки и запуска Superset для получения доступа к Superset client пройдите по ссылке http://localhost:8088/superset .
Наиболее распространенные проблемы с установкой Superset
«Если что-то не происходит не так, как хотелось бы, это вовсе не значит, что Ваша цель недостижима»
Если открывшаяся веб-страница выглядит не так, как показано на рисунке выше:
- Страница входа в систему не загружается или выводит "Error 500";
- Отсутствие страницы входа в систему означает, что сервер Superset не запущен. Проверьте командную строку. Как вариант, Вам потребуется установить некоторые библиотеки, такие как Flask;
- После входа в систему не отображается страница приветствия. Это может быть связано с тем, что Docker Engine не запущен.
Прежде чем обновлять страницу, подождите 5 минут. Если ошибка не исчезла, попробуйте сделать следующее:
- Остановите и перезапустите Docker Engine, выполнив команду docker-compose down -v, а затем docker-compose up;
- Порт Superset 8088 может быть использован другим приложением. Если это приложение зависло, завершите его и попробуйте обновить страницу;
- Остановите выполнение команды superset run и запустите ее с другим номером порта, используя flag -p.
После входа в систему экран Вы увидите следующее:
Нажав на Superset, Вы можете просмотреть свой профиль.
Вы также можете изучить другие вкладки: "Безопасность", "Управление", "Источники", "Диаграммы", "Дашборды" и "Лаборатория SQL".
Давайте рассмотрим каждую вкладку более подробно.
Раздел «Безопасность» позволяет создать и управлять пользователями, а также настроить их права, нажав на вкладку «Источники» Вы можете добавлять базы данных и настраивать таблицы.
Базы данных и таблицы в Superset
В Superset Вы можете добавлять БД и таблицы, а также загружать CSV-файлы.
Для того чтобы приступить к исследованию данных предлагаю создать образец базы данных. Вы можете выбрать любую базу данных, с которой можно взаимодействовать с помощью коннектора SQLAlchemy, например MySQL, SQLite, PostgresSQL, Snowflake, MongoDB и т. д. Для других баз данных необходимо установить коннекторы SQLAlchemy. Так, если Вы хотите работать с BigQuery, Вам нужно установить пакет pybigquery из а PyPI или пакет cxoracle.
Добавляемому экземпляру базы данных можно присвоить любое имя. В следующем поле укажите URI SQLAlchemy. По умолчанию это sqlite.////'path to superset db'. В случае с BigQuery необходимо выбрать URI вида bigquery://. Чтобы проверить, правильный ли URI Вы добавили, протестируйте соединение. Если с соединением все в порядке, Вы увидите всплывающее сообщение 'Seems OK', в противном случае ознакомьтесь с подробным описанием возникшей проблемы в журнале ошибок.
Вы также можете настроить доступ к базе данных. В разделе "Базы данных" Вы можете просматривать, редактировать и удалять добавленные экземпляры баз данных. Кроме того, с помощью кнопки добавления Вы можете добавить новую запись.
Добавленный экземпляр базы данных можно изменять с помощью опции редактирования:
Исследование данных
Теперь давайте посмотрим, как легко выполнять запросы и строить графики с помощью Superset. Мы создали экземпляр базы данных SQLite и назвали его CensiusExample.
В эту базу данных мы загрузим CSV-файл, содержащий данные о потреблении электроэнергии в городе Ссо, Франция.
Поскольку набор данных представляет собой временной ряд, необходимо выбрать поля Дата и Время, которые будут восприниматься как дата, и включить вывод формата времени.
Запросы SQL и визуализация результатов
Загруженный файл можно изучить и запросить в редакторе SQL Editor в разделе Лаборатория SQL. Выбранная база данных и таблица будут выглядеть так:
Чтобы составить короткий список усредненной по минутам силы тока в амперах, выполним следующий запрос:
Результаты запроса можно экспортировать в новый файл CSV или скопировать в буфер обмена. У Вас есть цифры, но лучше представить их в форме графиков. Визуализируем полученные результаты с помощью опции Explore.
Получим следующий график:
При желании Вы можете изменить стиль графика. Например, давайте представим приведенные выше результаты в виде гистограммы или линии тренда.
Кроме того, если Вы хотите получить более информативные графики, измените временную детализацию и другие фильтры по Вашему усмотрению:
Что еще? Вы можете изменить внешний вид графиков в соответствии с Вашими цветовыми предпочтениями.
Создание первого дашборда
Самая сильная сторона Apache Superset - это простота создания дашбордов. Давайте построим пример дашборда для измерения энергопотребления в городе Ссо. Созданный дашборд будет выглядеть следующим образом:
Существует два способа добавления графиков в дашборд Superset. Первый - импортировать уже созданный график, как мы это сделали для запроса, запущенного в SQL Editor. Чтобы импортировать график, откройте его и сохраните как часть дашборда.
Другой способ добавить график в дашборд - создать новый в разделе Графики.
Редактирование дашборда
Мы создали дашборд, содержащий несколько круговых диаграмм и показывающий тенденции.
Очевидно, что дашборд необходимо отредактировать. Для этого выберите опцию Edit Dashboard. Для того, чтобы сделать дашборд более упорядоченным и информативным, изменим последовательность графиков с помощью функции drag and drop.
Сохраним внесенные изменения. В результате получим следующее:
Дашборд готов, но другие пользователи не могут его просмотреть. Поэтому опубликуйте Ваш дашборд и проверьте статус рядом с названием дашборда.
Теперь дашборд виден не только Вам, но и другим пользователям.
Благодарю Вас за внимание и желаю удачи с построением дашбордов с помощью Apache Superset!




































