BI Consult Desktop Logo BI Consult Mobile Logo
  • Russian BI Исследование российских bi
  • Перейти на Fine BI
  • Контакты
  • +7 812 334-08-01
    +7 499 608-13-06
  • Отправить сообщение
  • Главная
  • Продукты Эксперт-BI
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Страхование
    • Банки
    • Лизинг
    • Логистика
    • Нефтегазовый сектор
    • Медицина
    • Сеть ресторанов
    • E-Commerce
    • Сельское хозяйство
    • Энергетика
    • FMCG
    • Девелоперы
    • Маркетплейсы
    • Пищевая промышленность
    • Фармацевтика
    • Построение Data Platform
    • Цифровая трансформация
    • Управление по KPI
    • Финансы
    • Продажи
    • Склад
    • HR
    • Маркетинг
    • Внутренний аудит
    • Категорийный менеджмент
    • S&OP и FP&A
    • Геоаналитика
    • Цепочки поставок (SCM)
    • AutoML
    • Process Mining
    • IBP
    • ИТ (CIO)
    • Закупки
  • Платформы
    • Системы бизнес-анализа (BI)
    • Интегрированное бизнес-планирование (IBP)
    • Хранилища данных (DWH / Lakehouse)
    • Каталоги данных (Data Catalog)
    • Системы ETL и ELT
    • AI / Исскуственный интеллект
    • Шина данных (ESB)
    • Система управления мастер-данными (MDM)
    • Семантический слой
  • Услуги
    • Переход на отечественные BI и DWH системы
    • Консалтинг
    • Пилотный проект
    • Обучение и сертификация
    • Бесплатное обучение
    • Поддержка
    • Технические задания
    • Сбор требований для проекта внедрения BI-системы
    • CI/CD для DWH
    • Аудит BI приложений и DWH
    • Выделенная команда
    • Настойка и поддержка баз данных
    • Разработка BI Стратегии
    • Styleguide для BI-системы
    • Как выбрать BI-систему
  • Курсы
    • Учебный курс Информационная грамотность (Data Literacy)
    • Учебный курс для бизнес-аналитиков
    • Учебный курс для системных аналитиков
    • Учебный курс по Data Governance
    • Учебный курс Как стать CDO
    • Учебный курс Современная архитектура хранилища данных
    • Учебный курс по Fine BI
    • Учебный курс по FineReport
    • Учебный курс по DWH
    • Учебный курс по Data Science (ML, AI)
    • Учебный курс по PostgreSQL
    • Учебный курс по Greenplum
    • Учебный курс по Apache Airflow и NiFi
    • Учебный курс по Open-source BI
    • Учебный курс по ClickHouse
    • Учебный курс по DataLens
    • Учебный курс по Loginom
    • Учебный курс по Modus BI и ETL
    • Учебный курс по Visiology
    • Учебный курс по dbt (Data Build Tool)
  • Компания
    • Руководство
    • Новости
    • Клиенты
    • Карьера
    • Скачать
    • Контакты

BI

  • FineBI
  • FineReport
  • FineDataLink
  • FineChatBI (FineAI)
  • Коннекторы данных из 1С в BI
  • Airflow / Nifi
  • Visiology
  • PIX BI
  • Modus BI
  • Yandex.DataLens
  • Open-source BI: Superset/Metabase
  • Luxms BI
  • AW BI + Alpha BI
  • FlyBI + Форсайт. Аналитическая Платформа
  • Loginom
  • Триафлай
  • AI / Исскуственный интеллект
  • Optimacros
  • Навигатор BI
  • Семантический слой

СУБД

  • Arenadata
  • ClickHouse
  • Greenplum
  • Postgres Professional
  • TData

Другое

  • Построение Data Platform
    • Аналитическое хранилище данных
    • Data Lake и Data Engineering
    • Подробнее про Data Lake
    • Внедрение Lakehouse
      • Apache Doris
      • StarRocks
      • Trino
    • Миграция витрин из пропиетарных DWH на новый стек
    • Учебный курс "Современная архитектура хранилища данных"
Главная » Курсы по системам бизнес-анализа и методологии » Учебный курс по Open-source BI - Apache Superset, Metabase, Redash » Apache Superset - FAQ

Apache Superset - FAQ

  1. Могу ли я обращаться сразу к нескольким таблицам?
  2. Насколько БОЛЬШИМ может быть мой источник данных?
  3. Как создать свою собственную визуализацию?
  4. Могу ли я загружать и визуализировать csv - файлы?
  5. Почему время ожидания моих запросов истекает слишком быстро?
  6. Почему не видно карту в визуализации mapbox?
  7. Как добавить динамические фильтры в дашборд?
  8. Как ограничить время обновления в дашборде?
  9. Почему Fabmanager или Superset зависает/ не отвечает при запуске (мой домашний каталог работает по NFS)?
  10. Что делать, если таблица изменилась?
  11. Как мне приступить к разработке нового типа визуализации?
  12. Какой движок базы данных я могу использовать в качестве серверной части для Superset?
  13. Как я могу настроить аутентификацию и авторизацию OAuth?
  14. Как установить фильтр по умолчанию в дашборде?
  15. Как сделать так, чтобы Superset обновил мою таблицу?
  16. Как использовать определенные цвета?
  17. Superset работает с [вставьте сюда базу данных]?

 

Могу ли я обращаться сразу к нескольким таблицам?

Напрямую - нет. Источником данных Superset SQLAlchemy может быть только одна таблица или одно представление.

При работе с таблицами решением может стать реализация таблицы, содержащей все поля, необходимые для Вашего анализа, посредством некоторого запланированного пакетного процесса.

Представление — это простой логический уровень, который резюмирует произвольные SQL-запросы в виде виртуальной таблицы. Это может позволить Вам объединять несколько таблиц, а также применять некоторые преобразования с использованием  выражений SQL. Ограничением является производительность Вашей базы данных, поскольку Superset эффективно запускает запрос поверх Вашего запроса (представления). Хорошей практикой может быть присоединение Вашей основной таблицы только к одной или нескольким небольшим таблицам, кроме того, следует избегать функции Группировать по (GROUP BY), где это возможно, поскольку Superset будет выполнять свою собственную функцию GROUP BY, а выполнение двойной работы может снизить производительность.

Работаете ли Вы с таблицей или с представлением, важным фактом остается то, является ли Ваша база данных достаточно быстрой для того, чтобы обслуживать ее/его в интерактивном режиме, что обеспечивает хорошее взаимодействие с пользователем в Superset.

 

Насколько БОЛЬШИМ может быть мой источник данных?

Он может быть гигантским! Как это уже было упомянуто ранее, основным критерием является то , может ли Ваша база данных осуществлять запросы и возвращать результаты в течение приемлемого для пользователя промежутка времени. Многие распределенные базы данных могут выполнять запросы, сканирующие терабайты в интерактивном режиме.

 

Как создать свою собственную визуализацию?

Мы планируем облегчить процесс добавления новых визуализаций, а пока мы присвоили всем подобным запросам тег Пример (example), для того, чтобы пользователи могли ознакомиться с примерами добавления новых визуализаций.

https://github.com/airbnb/superset/issues?q=label%3Aexample+is%3Aclosed

 

Могу ли я загружать и визуализировать csv - файлы?

Да, с помощью кнопки Загрузть CSV( Upload a CSV ) в пункте меню Источники ( Sources) .  После создания таблицы из CSV, она может быть загружена по аналогии с любыми другими таблицами на страницу Источники -> Таблицы ( Sources -> Tables).

 

Почему время ожидания моих запросов истекает слишком быстро?

Для этого может быть несколько причин:

  • Для обработки длинных запросов из Sql Lab по умолчанию Superset дает 6 часов до того момента, как Celery уничтожит их. Если Вы хотите увеличить время обработки запросов, Вы можете прописать его в настройках. Например:

 

SQLLAB_ASYNC_TIME_LIMIT_SEC = 60 * 60 * 6

 

  • Superset запущен на вэб-сервере Gunicorn, который может ограничивать время для обработки вэб-запросов. Если Вы хотите увеличить время, установленное по умолчанию (50), можете указать нужное значение при запуске вэб-сервера с помощью флага -t , который выражается в секундах.

 

superset runserver -t 300

 

  • Если Вы видите уведомление 504 Gateway Time-out при загрузке дашборда или изучении фрагмента, возможно, Вы отстали от шлюза или прокси-сервера (например, Nginx). Без своевременного ответа от сервера Superset (который обрабатывает длинные запросы) эти веб-серверы будут напрямую отправлять клиентам код состояния 504. Superset имеет ограниченное времени ожидания для решения этой проблемы. Если запрос не вернулся в течение тайм-аута (по умолчанию 60 секунд), Superset отобразит предупреждающее сообщение, чтобы избежать сообщения о тайм-ауте шлюза. Если у Вас больший лимит времени ожидания, Вы можете изменить настройки времени ожидания в superset_config.py:

 

SUPERSET_WEBSERVER_TIMEOUT = 60

 

Почему не видно карту в визуализации mapbox?

Необходимо зарегистрироваться на mapbox.com, получить ключ API  и настроить его, как MAPBOX_API_KEY в superset_config.py.

 

Как добавить динамические фильтры в дашборд?

Это достаточно просто: используйте виджетFilter Box , постройте фрагмент (Slice) и добавьте его в дашборд.

Виджет Filter Box  позволяет определить запрос для заполнения раскрывающихся списков, которые можно использовать для фильтрации. Чтобы создать список различных значений, мы запускаем запрос и сортируем результат по предоставленной Вами метрике, сортируя по убыванию.

В виджете также есть флажок «Фильтр по дате», который включает возможности фильтрации по времени. После установки флажка и обновления Вы увидите раскрывающийся список «от» и «до».

По умолчанию фильтрация будет применяться ко всем фрагментам, построенным на основе источника данных, который имеет то же имя столбца, на котором основан и сам фильтр. Также необходимо, чтобы этот столбец был отмечен как «фильтруемый» на вкладке столбца редактора таблицы.

Но что, если Вы не хотите, чтобы определенные виджеты отфильтровывались в Вашем дашборде? В таком случае Вы можете отредактировать поле JSON, а точнее ключ filter_immune_slices, который получает массив sliceId, на которые никогда не должна влиять фильтрация на уровне дашборда.

 

{
    "filter_immune_slices": [324, 65, 92],
    "expanded_slices": {},
    "filter_immune_slice_fields": {
        "177": ["country_name", "__time_range"],
        "32": ["__time_range"]
    },
    "timed_refresh_immune_slices": [324]

}

 

В приведенном выше json-блобе фрагменты 324, 65 и 92 не будут затронуты какой-либо фильтрацией на уровне дашборда.

Теперь обратите внимание на ключ filter_immune_slice_fields. Он позволит Вам быть более конкретным и определить для конкретного slice_id, какие поля фильтра следует игнорировать.

Обратите внимание на использование ключевого слова __time_range, которое предназначено для работы с упомянутой выше фильтрацией временных рамок.

Но что происходит с фильтрацией при работе с разными таблицами или базами данных? Если имя столбца является общим, фильтр будет применен, это так просто!

 

Как ограничить время обновления в дашборде?

По умолчанию функция обновления дашборда позволяет автоматически повторно запрашивать каждый фрагмент дашборда в соответствии с установленным расписанием. Однако иногда Вам не нужно обновлять все фрагменты, особенно если выполняются «тяжеловесные» запросы. Чтобы исключить определенные фрагменты из процесса синхронизированного обновления, добавьте ключ timed_refresh_immune_slices в поле JSON дашборда:

 

{
   "filter_immune_slices": [],
    "expanded_slices": {},
    "filter_immune_slice_fields": {},
    "timed_refresh_immune_slices": [324]
}
 

В приведенном выше примере, если для панели мониторинга задано обновление по времени, каждый фрагмент за исключением 324, будет автоматически повторно запрашиваться по расписанию.

Обновление фрагмента также будет происходить в течение указанного периода. Вы можете отключить эту функцию, установив для stagger_refresh значение false, и изменить период обновления, установив для stagger_time значение в миллисекундах в поле JSON:

 

{
    "stagger_refresh": false,
    "stagger_time": 2500
}
 
 

Почему Fabmanager или Superset зависает/ не отвечает при запуске (мой домашний каталог работает по NFS)?

По умолчанию Superset создает и использует базу данных sqlite в ~/.superset/superset.db.

Известно, что Sqlite работает не очень хорошо, если используется на NFS  

Вы можете переопределить этот путь, используя переменную SUPERSET_HOME.

Другой обходной путь — изменить место, где Superset хранит базу данных sqlite, добавив SQLALCHEMY_DATABASE_URI = 'sqlite:////new/location/superset.db' в superset_config.py (при необходимости создайте файл), а затем добавить каталог, в котором superset_config. py «живет» в переменные среды окружения PYTHONPATH (например, export PYTHONPATH=/opt/logs/sandbox/airbnb/).

 

Что делать, если таблица изменилась?

Таблицы меняются, и Superset должен это учитывать. В жизненном цикле дашборда довольно часто возникает необходимость добавить новое измерение или показатель. Чтобы Superset обнаружил Ваши новые столбцы, все, что Вам нужно сделать, это перейти в Меню -> Источники -> Таблицы, щелкнуть значок редактирования рядом с таблицей, схема которой была изменена, и нажать Сохранить на вкладке Подробности. После этого Вы можете повторно отредактировать таблицу, чтобы настроить вкладку «Столбец», установить соответствующие флажки и снова сохранить изменения.

 

Как мне приступить к разработке нового типа визуализации?

Вот пример с комментариями: https://github.com/airbnb/superset/pull/3013

 

Какой движок базы данных я могу использовать в качестве серверной части для Superset?

В данном случае серверная часть— это база данных OLTP, используемая Superset для хранения своей внутренней информации, такой как ваш список пользователей, фрагментов и дашбордов.

Superset тестируется с использованием Mysql, Postgresql и Sqlite. Рекомендуется установить Superset на один из этих серверов баз данных.

Использование баз данных без OLTP, таких как Vertica, Redshift или Presto в качестве серверной части базы данных просто не будет работать, поскольку они не предназначены для такого типа рабочей нагрузки.

Установка в Oracle, Microsoft SQL Server или других базах данных OLTP может работать, но не тестировалась.

Обратите внимание, что практически любые базы данных с интеграцией SqlAlchemy должны отлично работать в качестве источника данных для Superset, но не в качестве бэкэнда OLTP.

 

Как я могу настроить аутентификацию и авторизацию OAuth?

Ознакомьтесь с этим файлом configuration example.

 

Как установить фильтр по умолчанию в дашборде?

Очень просто.  Примените фильтр и сохраните дашборд, пока фильтр активен.

 

Как сделать так, чтобы Superset обновил мою таблицу?

При добавлении столбцов в таблицу Вы можете настроить Superset для обнаружения и объединения новых столбцов с помощью действия «Обновить метаданные» (Refresh Metadata) на странице «Источник» -> «Таблицы» (Source -> Tables). Просто установите флажок рядом с таблицами, схему которых Вы хотите обновить, и нажмите Действия -> Обновить метаданные (Actions -> Refresh Metadata).

 

Как использовать определенные цвета?

В поле JSON используйте ключ label_colors.

 

{
    "label_colors": {
        "Girls": "#FF69B4",
        "Boys": "#ADD8E6"
    }
}
 

 

Superset работает с [вставьте сюда базу данных]?

Был составлен список баз данных, которые хорошо работают с Superset (смотрите Database dependencies). Базы данных, не вошедшие в список, также могут работать хорошо. Надеемся, что в ближайшее время информация о базах данных будет дополнена.

Чтобы база данных поддерживалась в Superset через коннектор SQLAlchemy, необходимо наличие совместимого с Python диалекта SQLAlchemy, а также определенного драйвера DBAPI. База данных с ограниченной поддержкой SQL также может работать. Например, можно подключиться к Druid через коннектор SQLAlchemy. Еще один ключевой элемент поддержки базы данных — интерфейс спецификации Superset Database Engine. Этот интерфейс позволяет определять конфигурации для конкретной базы данных, выходящие за рамки SQLAlchemy и DBAPI. Также должны быть учтены и следующие особенности:

  • функция SQL, связанная с датой, которая позволяет Superset извлекать разную степень детализации времени при выполнении запросов временных рядов;
  • есть ли поддержка подзапросов. Если false, Superset может выполнять двухэтапные запросы, чтобы компенсировать данное ограничение;
  • методы обработки журналов и определения процента выполнения запроса;
  • технические сведения о том, как обрабатывать соединения, если драйвер не является стандартным DBAPI.

 

Помимо использования коннектора SQLAlchemy,  также возможно (хотя и гораздо сложнее) использовать свой собственный коннектор. Единственным примером на данный момент является коннектор Druid. Если база данных, которую Вы планируете интегрировать, имеет какую-либо поддержку SQL, вероятно, предпочтительнее пойти по пути SQLAlchemy. Обратите внимание, что для того, чтобы собственный коннектор заработал, база данных должна иметь поддержку выполнения запросов типа OLAP и должна иметь возможность выполнять действия, типичные для базового SQL:

  • агрегировать данные
  • применять фильтры (==, !=, >, <, >=, <=, IN, …)
  • задавать условия с помощью предложения HAVING
  • учитывать схемы, отображать столбы и типы.

 

← Предыдущая статья
Apache Superset - Разное
Следующая статья →
Руководство по Apache Superset
Запросить видео презентацию Запросить доступ к демо стенду online Узнать стоимость лицензий

Задать вопрос

loading...

Решения

Анализировать ФинансыУвеличивайте ПродажиОптимальный Склад и ЛогистикаМаркетинговые Метрики

Клиенты
  • «Балтийский лизинг» — первая компания в России, получившая лицензию № 0001 от Министерства экономики РФ на лизинговую деятельность, лицензия зарегистрирована 2 сентября 1996 года. «Балтийский лизинг» работает на российском рынке 33 года: компания представлена 79 филиалами по всей стране, сегодня в штате более 1300 сотрудников. За последние десять лет компания профинансировала имущество для 80 000 клиентов.

  • Ситилинк

    Электронный дискаунтер «Ситилинк» — один из крупнейших онлайн‑ритейлеров России (3‑е место по объему онлайн‑продаж в рейтинге Data Insight и Ruward 2016 года E‑commerce Index TOP‑100, 8 место в рейтинге Forbes «20 самых дорогих компаний Рунета — 2017»). На рынке работает 9 лет.

    В ассортименте дискаунтера более 50 000 наименований компьютерной цифровой, бытовой и садовой техники, офисной мебели и других товарных категорий. Более 700 мировых брендов в портфеле. Около 4 000 сотрудников по всей России

  • ЭГИС - международная фармацевтическая компания, основанная в 1907 году в Венгрии. Компания имеет представительства более чем в 60 странах мира, в том числе в России. Компания ЭГИС является одним из ведущих производителей дженерических лекарственных средств в Центральной и Восточной Европе. Её деятельность охватывает все звенья производственно-сбытовой фармацевтической цепочки.

  • Авиакомпания NordStar (АО «АК «НордСтар») – работает под данным брендом с 2008 г. и сейчас входит в топ-15 крупнейших российских авиакомпаний (данные Росавиации) с пассажирооборотом более 1 млн человек в год. АО «АК «НордСтар» выполняет и внутренние, и внешние рейсы, а ее основные хабы - Домодедово, Пулково и Емельяново. С 2021 года компания является базовым перевозчиком аэропорта Норильск.

  • Решения
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Страхование
    • Банки
    • Лизинг
    • Логистика
    • Нефтегазовый сектор
    • Медицина
    • Сеть ресторанов
    • E-Commerce
    • Энергетика
    • Фармацевтика
  • Услуги
    • Переход на отечественные BI и DWH
    • Консалтинг
    • Пилотный проект
    • Обучение и сертификация
    • Бесплатное обучение
    • Техническая поддержка
    • Технические задания
    • Сбор требований для проекта внедрения BI-системы
    • CI/CD для DWH
    • Аудит BI приложений
    • Выделенная команда
    • Настойка и поддержка баз данных
    • Разработка BI Стратегии
    • Styleguide для BI-системы
    • Как выбрать BI-систему
  • Платформы
    • FineBI
    • FineReport
    • FineDataLink
    • Коннекторы данных из 1С в BI
    • Airflow + NiFi
    • Visiology
    • Luxms BI
    • Modus BI
    • PIX BI
    • Arenadata
    • ClickHouse
    • Greenplum
    • Postgres Professional
    • Open-source BI: Superset/Metabase
    • Loginom
    • Yandex.DataLens
    • AI / Исскуственный интеллект
    • Optimacros
    • Шины данных
  • Курсы
    • Учебный курс Информационная грамотность
    • Учебный курс для бизнес-аналитиков
    • Учебный курс для системных аналитиков
    • Учебный курс по Data Governance
    • Учебный курс Как стать CDO
    • Учебный курс Современная архитектура хранилища данных
    • Учебный курс по Fine BI
    • Учебный курс по FineReport
    • Учебный курс по DWH
    • Учебный курс по Data Science (ML, AI)
    • Учебный курс по PostgreSQL
    • Учебный курс по Apache Airflow и NiFi
    • Учебный курс по Open-source BI
    • Учебный курс по ClickHouse
    • Учебный курс по DataLens
    • Учебный курс по Loginom
    • Учебный курс по Modus BI и ETL
    • Учебный курс по Visiology
    • Учебный курс по dbt
  • Функциональные решения
    • Создание Data Lake
    • Цифровая трансформация
    • Управление по KPI
    • Финансы
    • Продажи
    • Склад
    • HR
    • Маркетинг
    • Внутренний аудит
    • Категорийный менеджмент
    • S&OP и прогнозная аналитика
    • Геоаналитика
    • Цепочки поставок (SCM)
    • AutoML
    • Process Mining
    • Сквозная аналитика
  • Компания
    • О нас
    • Руководство
    • Новости
    • Клиенты
    • Скачать
    • Контакты
    • Политика конфиденциальности
RutubeVkontakteLinkedInYouTube
ООО "Би Ай Консалт",
ИНН: 7811437757,
ОГРН: 1097847154184
199178, Россия,
Санкт-Петербург,
6-ая линия В.О., Д. 63, 4 этаж
Тел: +7 (812) 334-08-01
Тел: +7 (499) 608-13-06
E-mail: info@biconsult.ru

 

 

 

 

 

×

Пользуясь сайтом, вы соглашаетесь с использованием cookies и политикой конфиденциальности.