Цель
- Загрузить данные OpenCelliD в ClickHouse
- Подключить Apache Superset к ClickHouse
- Создать панель мониторинга на основе данных из датасета
Получение набора данных
- ClickHouse Cloud
- Самоуправляемый
Загрузите пример данных
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-консоль.
DESCRIBE. Ниже в этом руководстве объясняется, почему выбраны именно такие типы полей.Выполните несколько запросов для примера
- Количество базовых станций сотовой связи по типам:
- Базовые станции сотовой связи по мобильному коду страны (MCC):
Сценарий использования: добавление геоданных
pointInPolygon.
- Создайте таблицу, в которой мы будем хранить полигоны:
- ClickHouse Cloud
- Самоуправляемый
- Это примерный контур Москвы (без «Новой Москвы»):
- Проверьте, сколько в Москве базовых станций сотовой связи:
Обзор схемы
Схема этой таблицы была разработана для компактного хранения на диске и быстрого выполнения запросов.
- Данные
radioхранятся в видеEnum8(UInt8), а не строки. mcc, или код страны мобильной сети, хранится какUInt16, поскольку диапазон значений известен: 1–999.lonиlatимеют типFloat64.
Создайте визуализации с Apache Superset
pip install clickhouse-connect. Если вам нужно установить Superset, откройте раздел Launch Apache Superset in Docker ниже.
Запуск Apache Superset в Docker
Запуск Apache Superset в Docker
В Superset есть инструкции по локальной установке Superset с помощью Docker Compose. После клонирования репозитория Apache Superset с GitHub вы можете запустить последнюю версию кода из ветки разработки или конкретный тег. Мы рекомендуем релиз 2.0.0, так как это последний релиз без пометки
pre-release.Перед запуском docker compose нужно сделать несколько вещей:- Добавить официальный драйвер ClickHouse Connect
- Получить API-ключ Mapbox и добавить его как переменную окружения (необязательно)
- Указать версию 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, выполните:- Добавьте ваш сервис ClickHouse как базу данных Superset
- Добавьте таблицу cell_towers как набор данных Superset
- Создайте несколько диаграмм
- Добавьте диаграммы на панель мониторинга
Добавьте свой сервис ClickHouse как базу данных в Superset
Сведения о подключении для вашего сервиса ClickHouse Cloud доступны в консоли ClickHouse Cloud.
Выберите сервис и нажмите Connect:
Выберите HTTPS. Сведения о подключении будут показаны в примере команды
curl.
Если вы используете самоуправляемый ClickHouse, сведения о подключении задаёт ваш администратор ClickHouse.
В Superset базу данных можно добавить, выбрав её тип, а затем указав сведения о подключении. Откройте Superset, нажмите + и в меню выберите Data, затем Connect database.
Выберите ClickHouse Connect из списка:
Если ClickHouse Connect нет среди доступных вариантов, его нужно установить. Для этого выполните команду
pip install clickhouse-connect. Дополнительная информация доступна здесь.Добавьте сведения о подключении
Добавьте таблицу cell_towers как датасет Superset
default), а затем таблицу cell_towers:
Создайте несколько диаграмм
cell_towers) и тип диаграммы. Поскольку датасет OpenCelliD содержит координаты долготы и широты базовых станций сотовой связи, мы создадим диаграмму типа Map. Тип deck.gL Scatterplot хорошо подходит для этого датасета, так как он эффективно отображает на карте плотные наборы точек данных.
Укажите запрос для карты
lon и lat содержат долготу и широту:
Добавьте фильтр mcc = 204 (или укажите любое другое значение mcc):
Добавьте фильтр radio = 'UMTS' (или укажите любое другое значение radio; доступные варианты можно посмотреть в выводе DESCRIBE TABLE cell_towers):
Вот полная конфигурация диаграммы с фильтрами radio = 'UMTS' и mcc = 204:
Нажмите UPDATE CHART, чтобы построить визуализацию.