Apache Superset — введение
Источники данных Superset

Визуализируйте Ваши данные
Apache Superset - это мощная платформа для визуализации данных и аналитики бизнеса, которая позволяет пользователям создавать интерактивные дашборды и отчеты на основе различных источников данных. С помощью Apache Superset Вы можете быстро и легко анализировать данные, отслеживать ключевые метрики и принимать важные решения на основе фактов. Apache Superset использует Flask, который является фреймворком для создания веб-приложений на Python, а также SQLAlchemy в качестве ORM.
.Superset предназначен для:
- Визуализации данных;
- Исследования данных;
- Анализа данных
Основные характеристики:
- open- source продукт;
- простой конструктор визуализации без кода;
- индивидуальная визуализация;
- SQL – запросы;
- оптимизированное решение для загрузки данных;
- базовый семантический слой для управления отображением и обработкой источников данных;
- масштабируемый
- Drill down (v2.0), white label
- оповещения
Логические составляющие Superset:
- источники — источники информации;
- дашборды— совокупность частей информации;
- часть информации — единица выходящей информации ( график, таблица, карта и т.д.)
Для создания динамических отчетов и визуализаций Superset использует шаблоны Jinja.
SQL Lab:
Superset предоставляет Вам возможность пользоваться инструментом SQL Lab, с помощью которого Вы можете писать и выполнять интерактивные SQL-запросы к источникам данных. Эта функция полезна для подробного изучения данных и специального анализа, а также является мощным инструментом для пользователей, которым удобно работать с SQL.
Типы визуализаций:
Линейный график | Столбчатая диаграмма | Линия тренда | Диаграмма области | Круговая диаграмма | Диаграмма рассеяния | Сетка | Дуговая диаграмма | Тепловая карта | Радарная и Лепестковая диаграмма | ECharts график
Поддерживаемые БД:
Superset поддерживает множество различных баз данных, что позволяет пользователям работать с данными из разных источников.
Drill | Druid | Redshift | Hive | Dremio | Big Query | Presto | Snowflake | MySQl | MSSQL | Postgres | DB2 | Rockset | Clickhouse | Greenplum
API и веб-сервисы:
Superset поддерживает функцию подключения к API и веб-службам для получения данных в режиме реального времени.
Источники данных:
Superset предоставляет возможность создания пользовательских коннекторов и интегрирации с любыми источниками данных, имеющими API или библиотеки Python.
Основные элементы Apache Superset:
Apache Superset написан на языках Python и react. Для работы с данными в бэкенде он использует модули python (pandas). В целом платформа состоит из следующих компонентов:
- Веб-сервер (Gunicorn, Nginx, Apache);
- Метаданные БД (MySQL, Postgres, MariaDB);
- Очередь сообщений для асинхронной обработки запросов (Redis, RabbitMQ, SQS);
- Кэш (Memcached, Redis);
- Бэкенд результатов (S3, Redis, Memcached)
Аутентификация:
Apache Superset оснащен различными опциями настройки аутентификации и авторизации.
OpenID | LDAP | REMOTE_USER | OAuth
Он имеет несколько встроенных ролей, таких как Общий доступ (Public), Администратор (Admin), Альфа (Alpha), Гамма (Gamma) и SQL_lab. Вы также можете добавить свои собственные роли.
Развертывание на AWS:
Для развертывания Superset на Amazon ECS воспользуйтесь специальным руководством.
Установка на K8s:
helm repo add superset https://apache.github.io/superset
kubectl create namespace superset
# Generate secret key
openssl rand -base64 42
# values.yaml
# # Define the namespace where Superset will be installed
namespace: superset
# Database configuration
postgresql:
postgresqlUsername: supersetpostgres
postgresqlPassword: xxxxxxxxxxxx
postgresqlDatabase: superset
configOverrides:
secret: |
SECRET_KEY = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
bootstrapScript: |
#!/bin/bash
pip install psycopg2 \
pip install pyhive &&\
if [ ! -f ~/bootstrap ]; then echo "Running Superset with uid {{ .Values.runAsUser }}" > ~/bootstrap; fi
helm upgrade --install --values values.yaml superset superset/superset -n superset
kubectl get pods -n superset
kubectl port-forward service/superset 8088:8088 --namespace supersetНастройки конфигурации Superset:
- config.py
- superset_config.py
Основные особенности:
- Отсутствие/ограниченная поддержка баз данных NoSQL;
- Apache Superset поддерживает максимум 30 форматов визуализации;
- Не поддерживает операторы join;
- Отсутствие возможности автоматического планирования задач
Компании, использующие Superset:
Airbnb, Dropbox, Nielsen, Twitter, Udemy, Microsoft, Instacart
Альтернативы:
Tableau | PowerBI | Looker | Metabase | QuickSight | Redash
Удачи с составлением дашбордов !!!








