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 » Визуализация данных ClickHouse с помощью Apache Superset, часть 1: установка

Визуализация данных ClickHouse с помощью Apache Superset, часть 1: установка

Apache Superset - это мощный BI инструмент, предназначенный для исследования данных. Пользователи ClickHouse все чаще и чаще используют этот инструмент для оптимизации работы с Big Data.  Данной теме мы посвятили 2 статьи. В первой мы расскажем Вам о том, как установить Superset и подключиться к ClickHouse. Во второй статье мы поговорим о способах визуализации данных, в том числе открытых данных ClickHouse

Статья, которую Вы читаете в данный момент – это результат совместной работы сообщества, работающего над оптимизацией подключения Superset к ClickHouse. Altinity рекомендует использовать драйвер clickhouse-sqlalchemy, в пользу которого выступает Константин Лебедев. Такая поддержка обусловлена поддержкой TLS-шифрования в процессе подключения. Мы регулярно проверяем работу драйвера, а также тестируем его совместимость с Superset. Мы также тесно сотрудничаем с разработчиками Superset на Preset.io и совместными усилиями стараемся улучшить поддержку.

Мы рассмотрим 3 способа установки Superset, а затем покажем, как подключиться из Superset к БД ClickHouse. Примеры кода предназначены для Ubuntu 18.04, Superset 1.1.0 и clickhouse-sqlalchemy 0.1.6. данные получены из Altinity.Cloud.

 

Метод установки № 1: Виртуальное окружение Python

Первый способ предусматривает установку Superset непосредственно на Ваш хост. Мы начнем с создания виртуального окружения Python. Представляем Вашему вниманию достаточно простые команды, включая обновление pip до последней версии.

python3 -m venv clickhouse-sqlalchemy

. clickhouse-sqlalchemy/bin/activate

pip install --upgrade pip

 

 

Установка и запуск Superset

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

export FLASK_APP=superset
pip install apache-superset
superset db upgrade
superset fab create-admin
superset load_examples
superset init

 

Скорее всего, эти команды буду успешно выполнены, и Вы сможете установить драйвер ClickHouse.

 

Установка драйвера clickhouse-sqlalchemy

В настоящее время на рынке информационных технологий представлено 2 драйвера ClickHouse SQLAlchemy: clickhouse-sqlalchemy и sqlalchemy-clickhouse.  Как уже было отмечено ранее, драйвер clickhouse-sqlalchemy является более надежным.  Поэтому давайте установим именно его.  Это потянет за собой установку модуля Python , который общается с  ClickHouse, используя протокол TPC.

pip install clickhouse-sqlalchemy

 

После завершения процесса проверьте версии: для полноценного выполнения TLS, включая расширение Server Name Indications (SNI), версия драйвера clickhouse-driver должна быть 0.2.0 и новее.  Именно эти версии запускают  SNI, необходимый при подключении к кластерам ClickHouse в таких сервисах, как Altinity.Cloud. Версия драйвера  clickhouse-sqlalchemy должна быть 0.1.6 или новее. В них исправлены наиболее распространенные ошибки, благодаря чему совместимость с Superset улучшилась.  

pip freeze |grep clickhouse
clickhouse-driver==0.2.0
clickhouse-sqlalchemy==0.1.6

 

Запуск Superset и вход в систему

Пришло время запустить Superset.  Чтобы сделать это, выполните следующую команду:

superset run -p 8088 --with-threads --reload --debugger

 

В браузере наберите http://localhost:8088 и Вы увидите окно входа в систему. Введите логин и пароль администратора, которые Вы задали при установке Superset, например admin/secret.

 

Метод установки № 2: Запустите Superset с помощью Docker Compose

Возможно, Вы не хотите возиться с версиями Python, виртуальными окружениями и pip. К счастью, есть другой способ запуска Superset – с помощью Docker Compose.

Начните с установки Docker, а затем приступите к установке инструмента Docker-Compose. Алгоритм установки зависит от платформы, которую Вы используете, в любом случае следуйте инструкции, указанной в официальной документации. После установки Вы должны увидеть что-то вроде этого:

$ docker --version
Docker version 19.03.4, build 9013bf583a
$ docker-compose --version
docker-compose version 1.29.1, build c34c88b2

 

Теперь мы можем быстро запустить Superset с помощью Docker-Compose.  Команды, которые использую я, представлены ниже:

git clone https://github.com/apache/superset
cd superset
touch ./docker/requirements-local.txt
echo "clickhouse-driver>=0.2.0" >> ./docker/requirements-local.txt
echo "clickhouse-sqlalchemy>=0.1.6" >> ./docker/requirements-local.txt
docker-compose -f docker-compose-non-dev.yml up

 

После выполнения этих команд Вы увидите достаточно много сообщений.

NB: Если при загрузке образов Docker возникли ошибки, запустите Docker Login. Мне удалось загрузить контейнер Redis только после того, как я воспользовался этой подсказкой.

После запуска Superset в Docker Вы сможете войти в систему набрав в своем браузе http://localhost:8088/.  Логин/пароль по умолчанию - admin/admin.

 

Метод установки № 2: Используйте Preset Cloud

Если Вы не хотите возиться с локальной установкой Superset, воспользуйтесь вполне достойной альтернативой под названием Preset Cloud от Preset.io.  Данный метод установки Superset учтет все зависимости, включая загрузку нужной версии драйвера clickhouse-sqlalchemy.

Ниже Вы сможете увидеть рабочее пространство ClickHouse, которое я использовал для тестирования соединений Preset с Altinity.Cloud.

 

Кстати,Preset Cloud отлично взаимодействует с Altinity.Cloud. 

 

Подключение к ClickHouse

Независимо от выбранного Вами метода установки Superset следующим шагом стает подключение к БД ClickHouse.

После входа в систему Вы увидите экран с Вашими текущими дашюордами.  В правом верхнем углу выберите вкладку Data (Данные) и нажмите Databases (Базы данных). Появится страница с Вашими текущими подключениями к базам данных.  Для того, чтобы добавть новую БД, нажмите на кнопку «+ Database».

 

NB: Если Вы не видите кнопку «+ Database», это означает, что у Вас нет прав на настройку соединений с базой данных. Возможно, Superset был установлен кем-то другим.  Для получения прав на вход в систему свяжитесь с  владельцем учетной записи.

Заполните поля следующим образом:

DATABASE NAME: clickhouse-public

SQLALCHEMY URL: clickhouse+native://demo:demo@github.demo.trial.altinity.cloud/default?secure=true

 

URL-адрес указывает на ClickHouse в Altinity.Cloud, доступный только для чтения. Ваш экран должен выглядеть следующим образом:

 

Нажмите на кнопку TEST CONNECTION.  Должно появиться сообщение «Соединение установлено!».  Для того, чтобы сохранить соединение, нажмите ADD.  Вы подключились к ClickHouse и можете приступить к созданию дашбордов.

 

Возможность подключения Superset URL-адреса ClickHouse

Возможно, Вам интересно узнать, что именно происходит в процессе подключения Superset к ClickHouse. Тогда этот раздел написан именно для Вас. Давайте рассмотрим возможности подключения и разберемся с форматом URL.

Superset написан на языке Python, он использует SQLAlchemy и API для подключения к ClickHouse а также к другим базам данных.

 

Соединения SQLAlchemy используют специализированный формат URL, который поддерживает несколько драйверов.  Для подключения к ClickHouse используйте URL-адрес, похожий на тот, который мы указывали выше: 

clickhouse+native://demo:demo@github.demo.trial.altinity.cloud/default?secure=true

 

Для того, чтобы найти драйвер, который принимает URL SQLAlchemy, система просканирует все доступные драйверы. Подходящий драйвер будет использоваться для отправки запросов к базе данных.

 

Подробнее об URL ClickHouse

Для ClickHouse существует два основных протокола передачи данных: TCP и HTTP.  Драйвер clickhouse-sqlalchemy поддерживает оба протокола, но мы рекомендуем использовать TPP.  URL-адреса  данного протокола выглядят следующим образом: 

clickhouse+native://<user>:<password>@<host>:<port>/<database>[?options…]

 

Приведенный выше пример URL-адреса соединяется по протоколу TCP с пользователем demo и паролем demo. По умолчанию используется порт 9440, который должен быть открыт для успешного установления соединения. 

Если Вы используете сервер ClickHouse, Вы вполне можете обойтись URL-адресом родного протокола, как показано ниже. Он использует пользователя по умолчанию без пароля и не шифрует соединение. Будет задействован порт 9000, который является стандартным для незашифрованных соединений.

clickhouse+native://localhost/default

 

Родной драйвер протокола допускает выполнение множества опций.  Ниже мы приводим пример соединения с таймаутом в 10 секунд, который «заставит» нас использовать шифрование TLS 1.2. 

clickhouse+native://demo:demo@github.demo.trial.altinity.cloud/default?secure=true&connect_timeout=10&ssl_version=PROTOCOL_TLSv1_2

 

Заключение и  анонс следующей статьи

Итак, мы рассмотрели 3 способа установки Superset для работы с ClickHouse и показали, как создать первое подключение к базе данных. Во всех случаях мы рекомендуем использовать драйвер clickhouse-sqlalchemy в силу его надежности и безопасности.

 

 

Узнать стоимость решенияЗапросить видео презентацию

← Предыдущая статья
Оптимизация работы с Big Data с помощью опции автомасштабирования Presto
Следующая статья →
Визуализация данных ClickHouse с помощью Apache Superset, часть 2: дашборды
Запросить видео презентацию Запросить доступ к демо стенду online Узнать стоимость лицензий

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

loading...

Решения

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

Клиенты
  • ИНВИТРО
    ИНВИТРО – крупнейшая частная медицинская компания в России, специализирующаяся на лабораторной диагностике и оказании других медицинских услуг.
     
    ИНВИТРО располагает 9 самыми современными лабораторными комплексами и крупнейшей в Восточной Европе сетью более чем из 900 медицинских офисов. Страны присутствия — Россия, Украина, Казахстан, Беларусь.
     
  • «Восток-Запад» – крупнейший поставщик продуктов в рестораны, кафе, гостиницы, кейтеринговые компании, столовые, комбинаты питания и кондитерские производства. 300+ городов регулярной доставки по всей территории России и странам СНГ; 3500+ товаров профессиональных брендов.

  • Банк "Санкт-Петербург" - это универсальный коммерческий банк, предоставляющий полный спектр финансовых услуг для частных и корпоративных клиентов. Банк основан в 1990 году и имеет генеральную лицензию Банка России на осуществление банковских операций. Сеть банка включает более 170 офисов и отделений, а также свыше 1000 банкоматов и терминалов в Санкт-Петербурге, Москве и других регионах.

  • Компания "Норникель" - лидер горно-металлургической отрасли в России и мире. Она производит металлы, необходимые для развития экологичной экономики и транспорта.

  • Решения
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Страхование
    • Банки
    • Лизинг
    • Логистика
    • Нефтегазовый сектор
    • Медицина
    • Сеть ресторанов
    • 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 и политикой конфиденциальности.