Обзор особенностей Apache Superset

Продолжаем делиться возможностями решений 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/apache/superset/blob/master/RESOURCES/INTHEWILD.md

Возможности 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. У него много функций, которые подходят для работы организаций. Если инструмент усовершенствовать и добавить, то, чего не хватаем пользователям, он может стать не заменимым решением для многих предприятий.