Продолжаем делиться возможностями решений Open Source, которые сейчас набирают популярность на рынке. Дмитрий Шевченко, специалист по бизнес-приложениям компании DBI, расскажет о возможностях Apache Superset, инструментах, которые необходимо доработать, а также поделится опытом использования Superset на одном из наших проектов. Итак, рассмотрим:
Apache Superset – быстрый и гибкий BI инструмент в бизнес-аналитике, который разработан для высокой доступности и скалирования на крупных распределенных средах, он также отлично работает внутри контейнеров.
Однако предела расширяемости для Superset не существует, его можно протестировать даже на ноутбуке.
Superset предоставляет:
- Интуитивный интерфейс для визуализации наборов данных и создания интерактивных инфопанелей;
- Широкий набор визуализаций с возможностью подключения и создания собственных, используя JS;
- Простой и понятный инструмент для создания наборов данных (используя SQL);
- Встроенный редактор SQL (SQL Alchemy) для работы с данными;
- Удобный интерфейс для создания метрик и вычисляемых столбцов;
- Поддержка для большинства SQL баз данных (всего около 30 коннекторов, список постоянно пополняется);
- Встроенное асинхронное выполнение запросов и кэширование;
- Расширенная модель безопасности, предоставляет богатую кастомизацию для доступа к инфопанелям, наборам данных и визуальным элементам;
- Возможность интегрировать со многими инструментами аутентификации (БД, OpenID, LDAP, OAuth, REMOTE_USER, и т.д.);
- API для программной кастомизации;
- Скалируемость, которая поддерживается «облачной» архитектурой.
Superset также позволяет выбрать инструменты для:
- web server (Gunicorn, Nginx, Apache);
- metadata database engine (MySQL, Postgres, MariaDB, etc);
- message queue (Redis, RabbitMQ, SQS, etc);
- results backend (S3, Redis, Memcached, etc);
- caching layer (Memcached, Redis, etc).
Сейчас Superset используют во многих крупных компаниях. Например, на PROD-среде для Airbnb внутри Kubernetes он обслуживает 600+ активных пользователей ежедневно, которые просматривают более 100 000 отчетов в день.
Список компаний, которые используют Superset, можно найти здесь:
https://github.com
Возможности Superset:
- Гибкий инструмент, созданный для работы с большим объемом данных;
- Большой набор доступных визуализаций из коробки и возможность подключить собственные;
- Расширенная модель безопасности (роли, RLS);
- Удобный импорт/экспорт объектов (инфопанели, наборы данных, визуальные элементы);
- Импорт данных из CSV файлов;
- Экспорт данных в CSV и JSON;
- Возможность настроить SSO для различных приложений с Superset;
- Можно работать с SQL запросами прямо в интерфейсе приложения, создавать из результатов запроса отчеты или извлекать из визуализации SQL выборку.
Инструмент развивают, постоянно добавляют новые возможности и расширяют имеющиеся. Рассмотрим некоторые возможности Superset на рисунках:
1. Гибкая панель фильтров
Для фильтрации данных в Superset применяется боковая панель фильтров, гибкая в настройке, можно скрыть или развернуть.
2. Настраиваемая область видимости (scope) для фильтров
3. Удобство работы с CSV
Удобная возможность, как загрузить данные из CSV, так и выгрузить отчет в CSV:
4. Результат
Наш пример инфопанелей для демо-организации приложения SODA:
Встроенные в Superset примеры
Для расширения возможностей необходимо добавить и проработать некоторые инструменты Superset:
- Отсутствует возможность организовывать иерархии (drill down);
- Отсутствует вменяемая локализация для русского языка;
- Не предусмотрена поддержка мульти-организаций;
- Ограниченный функционал «out of the box», например нет рассылки отчетов на почту, ограниченное число коннекторов, SSO требует настройки и т.д.;
- Нет поддержки от вендора, т.к., по сути, нет вендора;
- Не всегда разработчики оперативно устраняют баги.
Все больше компаний используют Apache Superset. У него много функций, которые подходят для работы организаций. Если инструмент усовершенствовать и добавить, то, чего не хватаем пользователям, он может стать не заменимым решением для многих предприятий.