Yandex.Cloud
  • Сервисы
  • Почему Yandex.Cloud
  • Сообщество
  • Решения
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Yandex Managed Service for ClickHouse
  • Начало работы
  • Пошаговые инструкции
    • Все инструкции
    • Информация об имеющихся кластерах
    • Создание кластера
    • Подключение к базе данных
    • Остановка и запуск кластера
    • SQL-запросы в консоли управления
    • Изменение настроек кластера и базы данных
    • Подключение внешних словарей
    • Подключение собственной геобазы
    • Подключение моделей машинного обучения
    • Управление схемами формата данных
    • Подключение к DataLens
    • Изменение версии ClickHouse
    • Управление хостами ClickHouse
    • Управление хостами ZooKeeper
    • Управление базами данных
    • Управление пользователями БД
    • Управление резервными копиями
    • Управление шардами
    • Управление группами шардов
    • Удаление кластера
  • Сценарии использования
    • Добавление данных в БД
    • Шардирование таблиц
    • Использование гибридного хранилища
    • Получение данных из Managed Service for Apache Kafka®
    • Получение данных из RabbitMQ
  • Концепции
    • Взаимосвязь ресурсов сервиса
    • Классы хостов
      • Действующие классы хостов
      • Архив
        • До 1 июня 2020 года
      • Использование устаревших классов хостов
    • Сеть в Managed Service for ClickHouse
    • Квоты и лимиты
    • Типы хранилища
    • Резервные копии
    • Репликация
    • Словари
    • Шардирование
    • Поддерживаемые клиенты
    • Политика работы с версиями ClickHouse
    • Настройки ClickHouse
  • Управление доступом
  • Правила тарификации
    • Действующие правила
    • Архив
      • До 1 января 2019 года
      • С 1 января до 1 марта 2019 года
      • С 1 марта 2019 года до 1 февраля 2020 года
  • Справочник API
    • Аутентификация в API
    • gRPC
      • Обзор
      • BackupService
      • ClusterService
      • DatabaseService
      • MlModelService
      • ResourcePresetService
      • UserService
      • VersionsService
      • OperationService
    • REST
      • Обзор
      • Backup
        • Обзор
        • get
        • list
      • Cluster
        • Обзор
        • addHosts
        • addShard
        • addZookeeper
        • backup
        • create
        • createExternalDictionary
        • createShardGroup
        • delete
        • deleteExternalDictionary
        • deleteHosts
        • deleteShard
        • deleteShardGroup
        • get
        • getShard
        • getShardGroup
        • list
        • listBackups
        • listHosts
        • listLogs
        • listOperations
        • listShardGroups
        • listShards
        • move
        • restore
        • start
        • stop
        • streamLogs
        • update
        • updateShard
        • updateShardGroup
      • Database
        • Обзор
        • create
        • delete
        • get
        • list
      • MlModel
        • Обзор
        • create
        • delete
        • get
        • list
        • update
      • ResourcePreset
        • Обзор
        • get
        • list
      • User
        • Обзор
        • create
        • delete
        • get
        • grantPermission
        • list
        • revokePermission
        • update
      • Versions
        • Обзор
        • list
      • Operation
        • Обзор
        • get
  • Вопросы и ответы
    • Общие вопросы
    • Вопросы о ClickHouse
    • Все вопросы на одной странице
  1. Пошаговые инструкции
  2. Подключение собственной геобазы

Подключение собственной геобазы

  • Создать геобазу
  • Загрузить геобазу в Yandex.Cloud
  • Подключить геобазу

Managed Service for ClickHouse содержит встроенный словарь-геобазу и набор функций для работы с ним. Встроенный словарь позволяет:

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

Подробнее о функциях для работы с геобазой читайте в документации ClickHouse.

Если встроенная геобаза вам не подходит, вы можете подключить к кластеру ClickHouse собственную геобазу:

  1. Создайте ее.
  2. Загрузите в Yandex.Cloud.
  3. Подключите к кластеру ClickHouse.

Создать геобазу

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

Чтобы создать геобазу:

  1. Создайте файл regions_hierarchy.txt с иерархией регионов. Файл должен представлять из себя таблицу в формате TSV без заголовков и со столбцами:
    • идентификатор региона (UInt32);
    • идентификатор родительского региона (UInt32);
    • тип региона (UInt8): 1 - континент, 3 - страна, 4 - федеральный округ, 5 - область, 6 - город; остальные типы не имеют значения;
    • население (UInt32) - необязательный столбец.
  2. Чтобы добавить альтернативную иерархию регионов, создайте файлы regions_hierarchy_<суффикс>.txt с аналогичной структурой. Чтобы воспользоваться альтернативной геобазой, передайте этот суффикс при вызове функции. Например:
    regionToCountry(RegionID) - использует словарь по умолчанию: regions_hierarchy.txt;
    regionToCountry(RegionID, 'ua') - использует словарь с суффиксом ua: regions_hierarchy_ua.txt;
    
  3. Создайте файл regions_names.txt с именами регионов. Файл должен представлять из себя таблицу в формате TSV без заголовков и со столбцами:
    • идентификатор региона (UInt32);
    • имя региона (String) - не может содержать табы или переводы строк, даже экранированные.
  4. Чтобы добавить в базу имена регионов на других языках, создайте файлы regions_names_<код языка>.txt с аналогичной структурой. Например, regions_names_en.txt для английского языка и regions_names_tr.txt для турецкого.
  5. Запакуйте файлы геобазы в архив формата tar, tar.gz или zip.

Загрузить геобазу в Yandex.Cloud

Managed Service for ClickHouse работает только с геобазами, которые загружены в Object Storage и к которым предоставлен публичный доступ на чтение:

  1. Загрузите архив с геобазой в Object Storage.

  2. Настройте публичный доступ на чтение к файлу геобазы.

  3. Получите публичную ссылку на геобазу.

Подключить геобазу

Консоль управления
Terraform
  1. Перейдите на страницу каталога и выберите сервис Managed Service for ClickHouse.
  2. Выберите кластер и нажмите кнопку Изменить кластер на панели сверху.
  3. Нажмите кнопку Настроить в блоке Настройки СУБД.
  4. В поле Geobase uri — укажите публичную ссылку на архив с геобазой в Object Storage.

Чтобы подключить геобазу к кластеру:

  1. Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.

    О том, как создать такой файл, см. в разделе Создание ClickHouse-кластера.

  2. Добавьте в настройки кластера Managed Service for ClickHouse параметр geobase_uri со ссылкой на архив с подключаемой геобазой в Object Storage:

    resource "yandex_mdb_clickhouse_cluster" "<имя кластера>" {
      ...
      clickhouse {
        config {
          geobase_uri = "<публичная ссылка на архив с геобазой в Object Storage>"
          ...
        }
      ...
      }
    ...
    }
    
  3. Проверьте корректность настроек.

    1. В командной строке перейдите в каталог, в котором вы создали конфигурационный файл.

    2. Выполните проверку с помощью команды:

      terraform plan
      

    Если конфигурация описана верно, в терминале отобразится список изменяемых ресурсов и их параметров. Если в конфигурации есть ошибки, Terraform на них укажет. Это проверочный этап: ресурсы не будут изменены.

  4. Подтвердите изменение ресурсов.

    1. Если в конфигурации нет ошибок, выполните команду:

      terraform apply
      
    2. Подтвердите изменение ресурсов.

Подробнее см. в документации провайдера Terraform.

В этой статье:
  • Создать геобазу
  • Загрузить геобазу в Yandex.Cloud
  • Подключить геобазу
Language / Region
Вакансии
Политика конфиденциальности
Условия использования
Брендбук
© 2021 ООО «Яндекс.Облако»