ClickHouse — это колоночная база данных, разработанная Яндексом для обработки аналитических запросов, которая идеально подходит для решения задач интернет-маркетинга.

Мы подготовили данное руководство, чтобы облегчить начало работы с ClickHouse digital-аналитикам.

Видеоинструкция

 

Покупка сервера для установки ClickHouse

Чтобы установить ClickHouse, необходимо купить виртуальную машину, которая работает на операционной системе Ubuntu.

В качестве примера рассмотрим покупку сервера на DigitalOcean.
После регистрации выберите Create Droplets:

После чего откроется страница конфигурации сервера. Выберите следующие настройки:

  1. Операционную систему Ubuntu.
    Версия: 18.04.
  2. Местоположение сервера — Амстердам.
  3. Укажите размер виртуальной машины: 3 GB Memory, 1 vCPU и 60 GB SSD.

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

После создания виртуальной машины на почту приходит письмо с SSH-доступом к серверу.

Установка ClickHouse

Чтобы установить ClickHouse, необходимо подключиться к серверу, воспользовавшись для этого SSH-клиентом.

SSH-клиент — это программа, позволяющая управлять сервером через командную строку.

Подойдет любое приложение, например:

Запустите SSH-клиент.
Для подключения к серверу укажите IP-адрес сервера, логин, а после авторизации задайте пароль.

 

Далее следуйте инструкции, подготовленной нашей командой.

Для этого копируйте команды из  Google Docs или последовательно вставляйте указанные команды ниже в консоль SSH-клиента:

#1. Укажите репозиторий, с которого будет загружен ClickHouse:

#2. Затем запустите процесс установки (это занимает несколько минут):

#3. Запустите ClickHouse:

На этом установка завершена. Чтобы убедиться, что она прошла успешно, запустите консольный клиент:

После чего выполните тестовый запрос к ClickHouse:

Если всё в порядке, то в качестве ответа запрос вернет 1 (единицу). Выйдите из клиента и приступайте к завершающему этапу: настройке ClickHouse.

Настройка ClickHouse

Для обеспечения дальнейшей безопасной и комфортной работы ClickHouse нужно настроить:

  • Открыть подключение по IP.
    Непосредственно после установки ClickHouse закрыт для подключения.
  • Установить Tabix.
    Работать с ClickHouse удобнее через графический клиент Tabix, который является редактором select-запросов.
  • Создать учетную запись.
    Необходимо создать учетную запись, под которой будет осуществляться доступ к ClickHouse. По умолчанию в ClickHouse не установлен пароль.

Открыть подключение по IP

Настройки доступа к серверу задаются в config.xml; чтобы открыть его, выполните команду:

В результате откроется файл с настройками ClickHouse:

Раскомментируйте  <listen_host>::</listen_host>, тогда подключение будет разрешено с любых адресов.

Либо пропишите IP-адрес, если подключение необходимо с определенного IP. Например, <listen_host>0.0.0.0</listen_host>.

Сохраните изменение сочетанием горячих клавиш: ^X.

 

Установка Tabix (графический клиент)

Чтобы установить Tabix, достаточно в config.xml раскомментировать тег  <http_server_default_response…>, который будет подгружать Tabix:

Сохраните изменения.

Tabix загружается по ссылке:
http://0.0.0.0:8123/

Где вместо 0.0.0.0 следует указать IP-адрес вашего сервера. В ClickHouse по умолчанию создана учетная запись с логином defalut. Воспользуйтесь ею, чтобы войти в Tabix:

Пароль отсутствует. Чтобы поставить ограничение по паролю, следуйте инструкции ниже.

 

Создание учетной записи

По умолчанию ClickHouse создает пользователя с логином default без пароля. Пароль можно задать в открытом или закодированном виде (SHA-256).

Не следует рассматривать такие пароли как защиту от потенциального злоумышленника. Скорее, они нужны для защиты от сотрудников.

Сгенерировать пароль можно командой:

Где вместо testPasword укажите необходимый пароль.

После выполнения команды в ответ получим пароль в закодированном виде.
Чтобы указать его в качестве пароля, необходимо отредактировать файл users.xml.

Для этого выполните команду:

Откроется файл с настройками пользователей ClickHouse:

Где укажем для пользователя default сгенерированный пароль:

 <password_sha256_hex>f501c3dc6d2bb6949f593a90c93eb9</password_sha256_hex>.

Также можно указать пароль в открытом виде:

<password>testPasword</password>.

Не забудьте сохранить изменения. С этого момента, чтобы подключиться к Tabix, необходимо задать логин и пароль.

Загрузка данных в ClickHouse

Renta позволяет загружать данные в ClickHouse из различных рекламных источников, систем аналитики и баз данных, например, из Google AdWords или Яндекс.Директ.

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

Также доступен стриминг сырых данных Google Analytics c автоматическим объединением данных из рекламных источников, CRM-системы.

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

Подключиться к ClickHouse можно при помощи odbc-драйвера или через http.
Удобнее это сделать через http.

Для этого в Power BI выберите в качестве источника данных Web:

И укажите следующие данные:

  • адрес сервера и порт,
  • доступы к ClickHouse,
  • select-запрос (который вернет необходимые данные),
  • указать формат выгрузки: TSV или CSV.

Например, в Power BI необходимо подтянуть количество сессий по рекламным источникам. Допустим, что запрос к ClickHouse выглядит следующим образом:

Готовим URL, который вернет результат запроса в виде СSV-файла.
Структура URL должна выглядеть следующим образом:

Последним шагом — полученный запрос нужно преобразовать в формат URL:

Чтобы перевести запрос в формат URL-a, воспользуйтесь любым decoder-ом.

Настройка обновления в Power BI Online

Power BI Online требует установку gateway для обновления отчетов в облаке. Но это можно обойти, если к серверу, на котором установлен ClickHouse, подвязать домен.

В настройках домена создайте поддомен, а в качестве A-записи укажите IP-адрес сервера.

Настройка происходит на стороне хостинга, к которому подвязан домен.

В результате, в качестве источника данных вместо IP-адреса указывайте домен.

Например:

При использовании поддомена установка gateway не требуется.

Остались вопросы?

Если у вас остались вопросы — задавайте их в комментариях.
Мы с удовольствием подготовим на них ответы.