Looker Studio может подключаться к ClickHouse через интерфейс MySQL, используя официальный источник данных Google MySQL.
Настройка ClickHouse Cloud
[object Object]
После создания сервиса ClickHouse Cloud на экране Connect your app выберите MySQL в раскрывающемся списке.

Включите интерфейс MySQL
Включите интерфейс MySQL для этого сервиса с помощью переключателя.
После этого для сервиса будет открыт порт 3306, а на экране появятся сведения для подключения по MySQL, включая ваше уникальное имя пользователя MySQL.

Также интерфейс MySQL можно включить для существующего сервиса:
[object Object]
Убедитесь, что сервис находится в состоянии Running, затем нажмите на сервис, для которого хотите включить интерфейс MySQL.
В левом меню выберите "Connect":

[object Object]
Выберите MySQL в раскрывающемся списке Connect With.

Включите интерфейс MySQL
Включите интерфейс MySQL для этого сервиса с помощью переключателя.
После этого для сервиса будет открыт порт 3306, а на экране появятся сведения для подключения по MySQL, включая ваше уникальное имя пользователя MySQL.

Создание пользователя MySQL только для чтения в ClickHouse Cloud
ClickHouse Cloud автоматически создаёт пользователя mysql4<subdomain> с тем же паролем, что и у пользователя по умолчанию.
Часть <subdomain> соответствует первой части hostname вашего сервиса ClickHouse Cloud.
Такой формат имени пользователя требуется для совместимости с инструментами, которые устанавливают защищённые соединения, но не передают данные SNI (Server Name Indication) при TLS-рукопожатии. Без информации SNI система не может выполнить корректную внутреннюю маршрутизацию, поэтому поддомен, встроенный в имя пользователя, служит необходимой подсказкой для маршрутизации. Пример такого инструмента — консольный клиент MySQL.
Создайте профиль настроек только для чтения
Создайте профиль настроек для пользователя только для чтения,
установив параметр readonly в 1:
CREATE SETTINGS PROFILE readonly_profile SETTINGS readonly = 1Создайте нового пользователя MySQL только для чтения
Создайте пользователя с именем в следующем формате:
mysql4<subdomain>_<username>Примените readonly_profile к новому пользователю и убедитесь, что пароль указан в формате двойного хэша SHA1. Например:
CREATE USER mysql4foobar_readonly
IDENTIFIED WITH double_sha1_password BY 'YourPassword42$'
SETTINGS PROFILE 'readonly_profile';Выдайте новому пользователю разрешения на доступ к нужным таблицам
Выдайте новому пользователю необходимые разрешения для работы с нужными таблицами или базами данных.
Например, если нужно предоставить доступ только к system.query_log:
GRANT SELECT ON system.query_log TO mysql4foobar_readonly;Созданного пользователя можно использовать для подключения к вашему сервису ClickHouse Cloud через интерфейс MySQL.
Устранение неполадок при работе с несколькими пользователями MySQL в ClickHouse Cloud
Если вы создали нового пользователя MySQL и при подключении через клиент MySQL CLI видите следующую ошибку:
ERROR 2013 (HY000): Lost connection to MySQL server at 'reading authorization packet', system error: 54В этом случае убедитесь, что имя пользователя имеет формат mysql4<subdomain>_<username>, как описано (выше).
Настройка сервера ClickHouse в собственной инфраструктуре
См. официальную документацию, где описано, как настроить сервер ClickHouse с включенным интерфейсом MySQL.
Помимо добавления записи в config.xml сервера
<clickhouse>
<mysql_port>9004</mysql_port>
</clickhouse>также обязательно использовать шифрование пароля двойным хэшом SHA1 для пользователя, который будет работать через интерфейс MySQL.
Генерация случайного пароля, зашифрованного двойным хэшом SHA1, в оболочке:
PASSWORD=$(base64 < /dev/urandom | head -c16); echo "$PASSWORD"; echo -n "$PASSWORD" | sha1sum | tr -d '-' | xxd -r -p | sha1sum | tr -d '-'Результат должен выглядеть следующим образом:
LZOQYnqQN4L/T6L0
fbc958cc745a82188a51f30de69eebfc67c40ee4Первая строка — это сгенерированный пароль, а вторая — хеш, который можно использовать для настройки ClickHouse.
Вот пример конфигурации для mysql_user, в которой используется сгенерированный хеш:
/etc/clickhouse-server/users.d/mysql_user.xml
<users>
<mysql_user>
<password_double_sha1_hex>fbc958cc745a82188a51f30de69eebfc67c40ee4</password_double_sha1_hex>
<networks>
<ip>::/0</ip>
</networks>
<profile>default</profile>
<quota>default</quota>
</mysql_user>
</users>Замените значение password_double_sha1_hex на собственный сгенерированный двойной хэш SHA1.
Кроме того, рекомендуется использовать use_mysql_types_in_show_columns,
чтобы в результатах запроса SHOW [FULL] COLUMNS отображались нативные типы MySQL вместо типов ClickHouse,
что позволяет BI-инструментам корректно определять схему базы данных при использовании коннекторов MySQL.
Например:
/etc/clickhouse-server/users.d/mysql_user.xml
<profiles>
<default>
<use_mysql_types_in_show_columns>1</use_mysql_types_in_show_columns>
</default>
</profiles>или назначьте ему другой профиль вместо профиля по умолчанию.
Если у вас есть утилита mysql, вы можете проверить подключение из командной строки.
Используя приведённые выше имя пользователя (mysql_user) и пароль (LZOQYnqQN4L/T6L0), команда будет такой:
mysql --protocol tcp -h localhost -u mysql_user -P 9004 --password=LZOQYnqQN4L/T6L0mysql> show databases;
+--------------------+
| name |
+--------------------+
| INFORMATION_SCHEMA |
| default |
| information_schema |
| system |
+--------------------+
4 rows in set (0.00 sec)
Read 4 rows, 603.00 B in 0.00156 sec., 2564 rows/sec., 377.48 KiB/sec.Наконец, настройте сервер ClickHouse так, чтобы он принимал подключения на нужных IP-адресах. Например, в config.xml раскомментируйте следующее, чтобы он принимал подключения на всех адресах:
<listen_host>::</listen_host> Подключение Looker Studio к ClickHouse
Сначала войдите в Looker Studio под своим аккаунтом Google и создайте новый источник данных:

Найдите официальный коннектор MySQL от Google (он называется просто MySQL):

Укажите сведения о подключении. Обратите внимание, что порт интерфейса MySQL по умолчанию — 9004, и он может отличаться в зависимости от конфигурации сервера.

Теперь у вас есть два варианта получения данных из ClickHouse. Во-первых, можно использовать функцию Table Browser:

Либо можно указать пользовательский запрос для получения данных:

Наконец, вы увидите автоматически определённую структуру таблицы и при необходимости сможете скорректировать типы данных.

Теперь можно перейти к изучению данных или созданию нового отчёта!
Использование Looker Studio с ClickHouse Cloud
При использовании ClickHouse Cloud сначала необходимо включить интерфейс MySQL. Это можно сделать в диалоговом окне подключения на вкладке "MySQL".

В интерфейсе Looker Studio выберите опцию "Enable SSL". SSL-сертификат ClickHouse Cloud подписан Let's Encrypt. Вы можете скачать этот корневой сертификат здесь.

Остальные шаги такие же, как в предыдущем разделе выше.