Superset
Apache Superset — платформа с открытым исходным кодом для исследования данных, которая поддерживает подключение к широкому спектру источников данных, различные виды визуализации и детальное управление правами пользователей. Основные возможности включают самостоятельный анализ данных, создание собственных дашбордов, экспорт результатов анализа в виде визуализаций, управление правами пользователей и ролей, а также встроенный редактор SQL.
Цель статьи: настроить источник данных Apache Doris в Apache Superset 3.1 для выполнения запросов и визуализации данных.
| Компонент | Рекомендуемая версия | Примечания |
|---|---|---|
| Apache Superset | 3.1 или новее | Официально поддерживает подключения к Apache Doris |
| Apache Doris | 2.0.4 или новее | Рекомендуется |
| Python | 3.9 / 3.10 / 3.11 | Используйте стабильную версию |
| pydoris | 1.1.0 | Клиент Doris для Python |
Предварительные требования
Перед началом настройки выполните следующие действия:
-
Установите Apache Superset 3.1 или новее.
-
Установите клиент Apache Doris для Python:
pip install pydoris -
Проверьте установку:
pip list | grep pydoris
# Expected output:
# pydoris 1.1.0
Шаг 1: Настройка источника данных Doris
После подготовки среды выполните следующие действия, чтобы добавить источник данных Doris в Superset.
1. Получите строку подключения SQLAlchemy
Doris использует следующий формат URI SQLAlchemy:
doris://<username>:<password>@<host>:<port>/<Catalog>.<database>
Описание параметров:
| Параметр | Значение | Пример |
|---|---|---|
| username | Имя пользователя для подключения к Doris | testuser |
| password | Пароль пользователя | xxxxxx |
| host | Хост базы данных | 127.0.1.28 |
| port | Порт для запросов | 9030 |
| Catalog | Catalog в Doris. Для внутренних таблиц используйте internal, а при выполнении запросов к озеру данных через внешние таблицы укажите соответствующий Catalog. | internal |
| database | Имя базы данных | tpch |
2. Добавьте источник данных в Superset
-
Откройте веб-интерфейс Superset, нажмите Настройки в правом верхнем углу, затем Коннекторы баз данных.

-
Нажмите + Добавить базу данных и в диалоговом окне Подключение базы данных выберите Apache Doris.

-
Введите URI SQLAlchemy в параметрах подключения. После успешной проверки подключения нажмите Подключить.

-
После успешного добавления источник данных появится в интерфейсе.

Шаг 2: Создание графика
После настройки источника данных можно приступать к созданию визуализаций.
В этой статье на примере набора данных TPC-H показано, как анализировать изменение сумм заказов с течением времени для разных способов доставки.
Предварительное требование: набор данных TPC-H должен быть загружен в Apache Doris. См. руководство по подготовке данных TPC-H.
1. Создайте набор данных
-
На левой панели навигации нажмите Наборы данных, затем + Добавить набор данных.

-
Задайте следующие параметры, затем нажмите Создать набор данных и график в правом нижнем углу:
- База данных: Doris
- Схема: tpch
- Таблица: lineitem

2. Добавьте пользовательскую метрику
-
На странице редактирования набора данных нажмите Метрики, затем Добавить элемент и добавьте вычисляемую метрику:
- Ключ метрики: Revenue
- Выражение SQL:
SUM(l_extendedprice * (1 - l_discount))

3. Создайте график
-
Перейдите на страницу График, нажмите + Добавить график, выберите lineitem в качестве набора данных и Линейный график в качестве типа графика.

-
Настройте параметры графика:
- Перетащите l_shipdate на ось X и задайте временную детализацию.
- Перетащите метрику Revenue в область Метрики.
- Перетащите столбец l_shipmode в область Измерения.

-
Нажмите Обновить график для предварительного просмотра. После проверки нажмите Сохранить, чтобы сохранить дашборд.

Частые вопросы и рекомендации
Предварительные требования
- Пакет
pydorisнеобходимо заранее установить в среде Superset. Иначе при создании базы данных вариант Apache Doris будет недоступен.
Настройка производительности
| Оптимизация | Описание |
|---|---|
| Проектирование схемы таблиц | Проектируйте базы данных и таблицы Doris с учётом реальных требований, используйте партиционирование и бакетирование по времени. |
| Проталкивание предикатов | Эффективно сокращает затраты на фильтрацию по предикатам и объём передаваемых данных. |
| Сетевая безопасность | Используйте частные подключения VPC, чтобы избежать рисков безопасности, связанных с доступом через общедоступную сеть. |
| Управление правами доступа | Детально настраивайте роли и права доступа учётных записей Doris, избегайте предоставления избыточных привилегий. |
Устранение неполадок
Вопрос: Apache Doris не отображается среди вариантов при добавлении базы данных.
Ответ: проверьте, установлен ли pydoris в новой среде. Superset отображает этот вариант, только если обнаруживает драйвер Doris во время работы. После установки может потребоваться перезапустить службу Superset.
Вопрос: Проверка подключения завершается ошибкой.
Ответ: проверьте правильность формата URI SQLAlchemy, доступность хоста и порта, а также корректность имени пользователя и пароля. Для предварительной проверки подключения можно использовать Doris BE или MySQL Client.