Перейти к основному содержанию

Цель

В этом руководстве вы узнаете, как:
  • Загрузить данные OpenCelliD в ClickHouse
  • Подключить Apache Superset к ClickHouse
  • Создать панель мониторинга на основе данных из датасета
Ниже показан предварительный просмотр панели мониторинга, созданной в этом руководстве:

Получение набора данных

Этот набор данных взят из OpenCelliD — крупнейшей в мире открытой базы данных базовых станций сотовой связи. По состоянию на 2021 год он содержит более 40 миллионов записей о базовых станциях сотовой связи (GSM, LTE, UMTS и т. д.) по всему миру, включая их географические координаты и метаданные (код страны, сеть и т. д.). Проект OpenCelliD распространяется по лицензии Creative Commons Attribution-ShareAlike 4.0 International, и мы повторно распространяем снимок этого набора данных на условиях той же лицензии. Актуальную версию набора данных можно скачать после авторизации.

Загрузите пример данных

ClickHouse Cloud предоставляет удобный способ загрузить этот набор данных из S3. Войдите в свою организацию ClickHouse Cloud или создайте бесплатную пробную учетную запись на ClickHouse.cloud.Выберите свой сервис, затем Data sources -> Predefined sample data.Выберите набор данных Cell Towers на вкладке Sample data и нажмите Load data:

Изучите схему таблицы cell_towers

SQL-консольЕсли вам нужно подключение через SQL-клиент, у вашего сервиса ClickHouse Cloud есть встроенная веб- SQL-консоль; разверните раздел Подключение к SQL-консоли ниже, чтобы узнать подробности.
В списке сервисов ClickHouse Cloud выберите нужный сервис.Вы будете перенаправлены в SQL-консоль.
Это результат выполнения DESCRIBE. Ниже в этом руководстве объясняется, почему выбраны именно такие типы полей.

Выполните несколько запросов для примера

  1. Количество базовых станций сотовой связи по типам:
  1. Базовые станции сотовой связи по мобильному коду страны (MCC):
Исходя из приведённого выше запроса и списка MCC, больше всего базовых станций сотовой связи находится в США, Германии и России. Возможно, вам стоит создать словарь в ClickHouse, чтобы расшифровать эти значения.

Сценарий использования: добавление геоданных

С помощью функции pointInPolygon.
  1. Создайте таблицу, в которой мы будем хранить полигоны:
  1. Это примерный контур Москвы (без «Новой Москвы»):
  1. Проверьте, сколько в Москве базовых станций сотовой связи:

Обзор схемы

Прежде чем создавать визуализации в Superset, ознакомьтесь со столбцами, которые будете использовать. Этот набор данных в основном содержит сведения о местоположении (долгота и широта) и типах радиосвязи мобильных сотовых вышек по всему миру. Описания столбцов можно найти на форуме сообщества. Ниже описаны столбцы, которые используются в визуализациях, создаваемых в этом руководстве. Ниже приведено описание столбцов с форума OpenCelliD:
mccЧтобы найти свой MCC, см. Mobile network codes и используйте три цифры из столбца Код страны мобильной сети.
Схема этой таблицы была разработана для компактного хранения на диске и быстрого выполнения запросов.
  • Данные radio хранятся в виде Enum8 (UInt8), а не строки.
  • mcc, или код страны мобильной сети, хранится как UInt16, поскольку диапазон значений известен: 1–999.
  • lon и lat имеют тип Float64.
Остальные поля не используются в запросах или визуализациях из этого руководства, но, если вам интересно, их описание есть на форуме, ссылка на который приведена выше.

Создайте визуализации с Apache Superset

Superset легко запустить в Docker. Если Superset у вас уже запущен, достаточно добавить ClickHouse Connect с помощью pip install clickhouse-connect. Если вам нужно установить Superset, откройте раздел Launch Apache Superset in Docker ниже.
В Superset есть инструкции по локальной установке Superset с помощью Docker Compose. После клонирования репозитория Apache Superset с GitHub вы можете запустить последнюю версию кода из ветки разработки или конкретный тег. Мы рекомендуем релиз 2.0.0, так как это последний релиз без пометки pre-release.Перед запуском docker compose нужно сделать несколько вещей:
  1. Добавить официальный драйвер ClickHouse Connect
  2. Получить API-ключ Mapbox и добавить его как переменную окружения (необязательно)
  3. Указать версию Superset для запуска
Приведенные ниже команды нужно выполнять из корневого каталога GitHub-репозитория superset.

Официальный драйвер ClickHouse Connect

Чтобы драйвер ClickHouse Connect был доступен в Superset, добавьте его в локальный файл зависимостей:

Mapbox

Это необязательно: в Superset можно строить данные о местоположении и без API-ключа Mapbox, но вы увидите сообщение о том, что нужно добавить ключ, а фоновое изображение карты будет отсутствовать (вы увидите только точки данных, но не саму карту). У Mapbox есть бесплатный уровень, если вы захотите его использовать.Некоторые примеры визуализаций, которые предлагается создать в руководствах, используют данные о местоположении, например широту и долготу. Superset поддерживает карты Mapbox. Чтобы использовать визуализации Mapbox, нужен API-ключ Mapbox. Зарегистрируйтесь на бесплатном уровне Mapbox и сгенерируйте API-ключ.Сделайте API-ключ доступным для Superset:

Развертывание Superset версии 2.0.0

Чтобы развернуть релиз 2.0.0, выполните:
Чтобы создать панель мониторинга Superset с использованием набора данных OpenCelliD, выполните следующие действия:
  • Добавьте ваш сервис ClickHouse как базу данных Superset
  • Добавьте таблицу cell_towers как набор данных Superset
  • Создайте несколько диаграмм
  • Добавьте диаграммы на панель мониторинга

Добавьте свой сервис ClickHouse как базу данных в Superset

Чтобы подключиться к ClickHouse по HTTP(S), вам понадобится следующая информация: Сведения о подключении для вашего сервиса ClickHouse Cloud доступны в консоли ClickHouse Cloud. Выберите сервис и нажмите Connect: Выберите HTTPS. Сведения о подключении будут показаны в примере команды curl. Если вы используете самоуправляемый ClickHouse, сведения о подключении задаёт ваш администратор ClickHouse. В Superset базу данных можно добавить, выбрав её тип, а затем указав сведения о подключении. Откройте Superset, нажмите + и в меню выберите Data, затем Connect database. Выберите ClickHouse Connect из списка:
Если ClickHouse Connect нет среди доступных вариантов, его нужно установить. Для этого выполните команду pip install clickhouse-connect. Дополнительная информация доступна здесь.

Добавьте сведения о подключении

Убедитесь, что при подключении к ClickHouse Cloud или другим системам ClickHouse, требующим использования SSL, параметр SSL включён.

Добавьте таблицу cell_towers как датасет Superset

В Superset датасет соответствует таблице в базе данных. Нажмите Add dataset и выберите свой сервис ClickHouse, базу данных, в которой находится таблица (default), а затем таблицу cell_towers:

Создайте несколько диаграмм

При добавлении диаграммы в Superset нужно указать датасет (cell_towers) и тип диаграммы. Поскольку датасет OpenCelliD содержит координаты долготы и широты базовых станций сотовой связи, мы создадим диаграмму типа Map. Тип deck.gL Scatterplot хорошо подходит для этого датасета, так как он эффективно отображает на карте плотные наборы точек данных.

Укажите запрос для карты

Для deck.gl Scatterplot нужны значения долготы и широты; кроме того, к запросу можно применить один или несколько фильтров. В этом примере используются два фильтра: один — для базовых станций сотовой связи с технологией UMTS, другой — для значения Mobile country code, соответствующего Нидерландам. Поля lon и lat содержат долготу и широту: Добавьте фильтр mcc = 204 (или укажите любое другое значение mcc): Добавьте фильтр radio = 'UMTS' (или укажите любое другое значение radio; доступные варианты можно посмотреть в выводе DESCRIBE TABLE cell_towers): Вот полная конфигурация диаграммы с фильтрами radio = 'UMTS' и mcc = 204: Нажмите UPDATE CHART, чтобы построить визуализацию.

Добавьте диаграммы на панель мониторинга

На этом снимке экрана показано расположение базовых станций сотовой связи со стандартами LTE, UMTS и GSM. Все диаграммы создаются одинаково и добавляются на панель мониторинга.
Данные также доступны для интерактивных запросов в Песочнице ClickHouse.Этот пример автоматически подставит имя пользователя и даже сам запрос.Хотя в Песочнице ClickHouse нельзя создавать таблицы, вы можете выполнять все запросы и даже использовать Superset (при необходимости скорректируйте имя хоста и номер порта).
Последнее изменение 2 июля 2026 г.