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

Tableau Online

Tableau Online может подключаться к ClickHouse Cloud или локальной установке ClickHouse через интерфейс MySQL, используя официальный источник данных MySQL.

Настройка ClickHouse Cloud


  1. После создания вашего ClickHouse Cloud Service, на экране Подключите ваше приложение, выберите MySQL из выпадающего списка.

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

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

  1. Убедитесь, что ваш сервис находится в состоянии Работает, затем кликните на сервис, для которого вы хотите включить интерфейс MySQL. Выберите "Подключить" в левом меню:


  1. Выберите MySQL из выпадающего списка Подключиться с.


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

Создание нескольких пользователей MySQL в ClickHouse Cloud

По умолчанию есть встроенный пользователь mysql4<поддомен>, который использует такой же пароль, как и default. Часть <поддомен> - это первая часть вашего имени хоста ClickHouse Cloud. Этот формат необходим для работы с инструментами, которые реализуют безопасное соединение, но не предоставляют информацию SNI в своем TLS рукопожатии, что делает невозможным внутреннюю маршрутизацию без дополнительного указателя в имени пользователя (консольный клиент MySQL - один из таких инструментов).

По этой причине мы настоятельно рекомендуем следовать формату mysql4<поддомен>_<имя пользователя> при создании нового пользователя, предназначенного для использования с интерфейсом MySQL, где <поддомен> является указателем для идентификации вашего облачного сервиса, а <имя пользователя> - произвольным суффиксом на ваш выбор.

подсказка

Для имени хоста ClickHouse Cloud, такого как foobar.us-east1.aws.clickhouse.cloud, часть <поддомен> равна foobar, и пользователь MySQL может выглядеть как mysql4foobar_team1.

Вы можете создать дополнительных пользователей для использования с интерфейсом MySQL, если, например, вам необходимо применить дополнительные настройки.

  1. Дополнительно - создайте профиль настроек, который будет применяться к вашему пользовательскому аккаунту. Например, my_custom_profile с дополнительной настройкой, которая будет применяться по умолчанию, когда мы подключимся с пользователем, которого создадим позже:

    prefer_column_name_to_alias используется просто как пример, вы можете использовать другие настройки.

  2. Создайте пользователя с использованием следующего формата: mysql4<поддомен>_<имя пользователя> (см. выше). Пароль должен быть в двойном SHA1 формате. Например:

    или если вы хотите использовать пользовательский профиль для этого пользователя:

    где my_custom_profile - это имя профиля, который вы создали ранее.

  3. Предоставьте новому пользователю необходимые разрешения для взаимодействия с нужными таблицами или базами данных. Например, если вы хотите предоставить доступ только к system.query_log:

  4. Используйте созданного пользователя для подключения к вашему ClickHouse Cloud сервису через интерфейс MySQL.

Устранение неполадок с несколькими пользователями MySQL в ClickHouse Cloud

Если вы создали нового пользователя MySQL и видите следующую ошибку при подключении через MySQL CLI клиент:

В этом случае убедитесь, что имя пользователя соответствует формату mysql4<поддомен>_<имя пользователя>, как описано (выше).

Настройка локального сервера ClickHouse

Пожалуйста, обратитесь к официальной документации о том, как настроить сервер ClickHouse с включенным интерфейсом MySQL.

Помимо добавления записи в config.xml сервера

также требуется использовать двойное шифрование паролей SHA1 для пользователя, который будет использовать интерфейс MySQL.

Генерация случайного пароля, зашифрованного двойным SHA1 из командной строки:

Вывод должен выглядеть следующим образом:

Первая строка — сгенерированный пароль, а вторая строка — хэш, который мы можем использовать для настройки ClickHouse.

Вот пример конфигурации для mysql_user, которая использует сгенерированный хэш:

/etc/clickhouse-server/users.d/mysql_user.xml

Замените запись password_double_sha1_hex на ваш собственный сгенерированный хэш двойного SHA1.

Кроме того, рекомендуется использовать use_mysql_types_in_show_columns, чтобы отображать нативные типы MySQL вместо типов ClickHouse в результатах запроса SHOW [FULL] COLUMNS, что позволяет BI инструментам правильно инкапсулировать схему базы данных при использовании MySQL соединителей.

Например:

/etc/clickhouse-server/users.d/mysql_user.xml

или назначить его другому профилю вместо профиля по умолчанию.

Если у вас есть доступ к бинарному файлу mysql, вы можете протестировать соединение из командной строки. Используя пример имени пользователя (mysql_user) и пароля (LZOQYnqQN4L/T6L0) выше, команда из командной строки будет:

Наконец, настройте сервер Clickhouse для прослушивания на желаемом IP-адресе(ах). Например, в config.xml раскомментируйте следующее для прослушивания на всех адресах:

Подключение Tableau Online к ClickHouse (локальное без SSL)

Войдите на ваш сайт Tableau Cloud и добавьте новый опубликованный источник данных.


Выберите "MySQL" из списка доступных коннекторов.


Укажите данные подключения, собранные во время настройки ClickHouse.


Tableau Online проведет интроспекцию базы данных и предоставит список доступных таблиц. Перетащите желаемую таблицу на холст справа. Кроме того, вы можете нажать "Update Now", чтобы предварительно просмотреть данные, а также уточнить типы или названия интроспектируемых полей.


После этого остается только нажать "Publish As" в верхнем правом углу, и вы сможете использовать вновь созданный набор данных в Tableau Online как обычно.

NB: если вы хотите использовать Tableau Online в сочетании с Tableau Desktop и делиться наборами данных ClickHouse между ними, убедитесь, что вы также используете Tableau Desktop с коннектором MySQL по умолчанию, следуя руководству по настройке, которое отображается здесь, если вы выберете MySQL из выпадающего списка источников данных. Если у вас Mac с M1, ознакомьтесь с этим обсуждением по устранению неполадок для обходного пути установки драйвера.

Подключение Tableau Online к ClickHouse (Cloud или локальная установка с SSL)

Так как невозможно предоставить SSL-сертификаты через мастер настройки подключения MySQL в Tableau Online, единственный способ — использовать Tableau Desktop для настройки подключения и затем экспортировать его в Tableau Online. Этот процесс, однако, довольно прост.

Запустите Tableau Desktop на Windows или Mac, и выберите "Connect" -> "To a Server" -> "MySQL". Скорее всего, потребуется сначала установить драйвер MySQL на вашем компьютере. Вы можете сделать это, следуя руководству по настройке, которое отображается здесь, если вы выберете MySQL из выпадающего списка источников данных. Если у вас Mac с M1, ознакомьтесь с этим обсуждением по устранению неполадок для обходного пути установки драйвера.


примечание

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

Укажите учетные данные пользователя MySQL вашего облачного экземпляра ClickHouse и путь к загруженному корневому сертификату.


Выберите желаемые таблицы как обычно (аналогично Tableau Online), и выберите "Server" -> "Publish Data Source" -> Tableau Cloud.


ВАЖНО: необходимо выбрать "Embedded password" в параметрах аутентификации.


Кроме того, выберите "Обновить рабочую книгу для использования опубликованного источника данных".


Наконец, нажмите "Publish", и ваш источник данных с встроенными учетными данными автоматически откроется в Tableau Online.

Известные ограничения (ClickHouse 23.11)

Все известные ограничения были исправлены в ClickHouse 23.11. Если вы столкнетесь с какими-либо другими несовместимостями, пожалуйста, не стесняйтесь связываться с нами или создать новую проблему.