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

Подключение Tableau к ClickHouse

ClickHouse предлагает официальный соединитель Tableau, представленный на Tableau Exchange. Соединитель основан на усовершенствованном JDBC драйвере ClickHouse.

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

Обязательная настройка перед использованием

  1. Соберите ваши данные для подключения

    Чтобы подключиться к ClickHouse с помощью HTTP(S), вам необходима следующая информация:

    • ХОСТ и ПОРТ: как правило, порт 8443 при использовании TLS или 8123 при отсутствии TLS.

    • ИМЯ БАЗЫ ДАННЫХ: по умолчанию существует база данных с именем default, используйте имя базы данных, к которой вы хотите подключиться.

    • ИМЯ ПОЛЬЗОВАТЕЛЯ и ПАРОЛЬ: по умолчанию имя пользователя default. Используйте имя пользователя, подходящее для вашего случая.

    Данные для вашего сервиса ClickHouse Cloud доступны в консоли ClickHouse Cloud. Выберите сервис, к которому вы хотите подключиться, и нажмите Подключиться:

    Кнопка подключения к сервису ClickHouse Cloud

    Выберите HTTPS, и данные будут доступны в примере команды curl.

    Детали подключения ClickHouse Cloud по HTTPS

    Если вы используете самоуправляемый ClickHouse, детали подключения устанавливаются вашим администратором ClickHouse.

  2. Скачайте и установите Tableau desktop.

  3. Следуйте инструкциям clickhouse-tableau-connector-jdbc, чтобы скачать совместимую версию JDBC драйвера ClickHouse.

примечание

Убедитесь, что вы скачали JAR файл clickhouse-jdbc-X.X.X-all-dependencies.jar. Этот артефакт доступен с версии 0.9.2.

  1. Сохраните JDBC драйвер в следующей папке (в зависимости от вашей ОС, если папка не существует, вы можете создать её):
    • macOS: ~/Library/Tableau/Drivers
    • Windows: C:\Program Files\Tableau\Drivers
  2. Настройте источник данных ClickHouse в Tableau и начните создавать визуализации данных!

Настройка источника данных ClickHouse в Tableau

Теперь, когда у вас установлен и настроен драйвер clickhouse-jdbc, давайте посмотрим, как определить источник данных в Tableau, который подключается к базе данных TPCD в ClickHouse.

  1. Запустите Tableau. (Если он уже был запущен, то перезапустите его.)

  2. В меню слева нажмите на Больше в разделе К серверу. Найдите ClickHouse by ClickHouse в списке доступных соединителей:

Экран подключения Tableau, показывающий меню выбора соединителя с выделенной опцией ClickHouse by ClickHouse

примечание

Не видите соединитель ClickHouse by ClickHouse в списке соединителей? Это может быть связано с устаревшей версией Tableau Desktop. Чтобы исправить это, рассмотрите возможность обновления вашего приложения Tableau Desktop или установите соединитель вручную.

  1. Нажмите на ClickHouse by ClickHouse, и появится следующий диалог:
Диалог установки соединителя Tableau, показывающий детали соединителя ClickHouse JDBC и кнопку установки

  1. Нажмите Установить и перезапустить Tableau. Перезапустите приложение.
  2. После перезапуска у соединителя будет полное название: ClickHouse JDBC by ClickHouse, Inc.. При нажатии на него появится следующий диалог:
Диалог подключения ClickHouse в Tableau, показывающий поля для сервера, порта, базы данных, имени пользователя и пароля

  1. Введите свои данные для подключения:

    НастройкаЗначение
    СерверВаш ClickHouse хост (без префиксов или суффиксов)
    Порт8443
    База данныхdefault
    Имя пользователяdefault
    Пароль****
примечание

При работе с ClickHouse cloud необходимо включить флажок SSL для защищенных соединений.


примечание

Наша база данных ClickHouse называется TPCD, но вам нужно установить База данных на default в диалоге выше, затем выбрать TPCD для Схемы на следующем этапе. (Это, вероятно, связано с ошибкой в соединителе, поэтому это поведение может измениться, но пока вы должны использовать default в качестве базы данных.)

  1. Нажмите кнопку Войти, и вы должны увидеть новую книгу Tableau:
Новая книга Tableau, показывающая начальный экран подключения с вариантами выбора базы данных

  1. Выберите TPCD из выпадающего списка Схема, и вы должны увидеть список таблиц в TPCD:
Выбор схемы Tableau, показывающий таблицы базы данных TPCD, включая CUSTOMER, LINEITEM, NATION, ORDERS и другие

Теперь вы готовы создать некоторые визуализации в Tableau!

Создание визуализаций в Tableau

Теперь, когда у нас настроен источник данных ClickHouse в Tableau, давайте визуализировать данные...

  1. Перетащите таблицу CUSTOMER на рабочую книгу. Обратите внимание, что столбцы появляются, но таблица данных пустая:
Рабочая книга Tableau с перетянутой таблицей CUSTOMER на холст, показывающей заголовки столбцов, но без данных

  1. Нажмите кнопку Обновить сейчас, и 100 строк из CUSTOMER заполнят таблицу.

  2. Перетащите таблицу ORDERS в рабочую книгу, затем установите Custkey как поле связи между двумя таблицами:

Редактор связей Tableau, показывающий связь между таблицами CUSTOMER и ORDERS, используя поле Custkey

  1. Теперь у вас есть таблицы ORDERS и LINEITEM, связанные друг с другом как ваш источник данных, поэтому вы можете использовать эту связь, чтобы отвечать на вопросы о данных. Выберите вкладку Лист 1 внизу рабочей книги.
Лист Tableau, показывающий размеры и меры из таблиц ClickHouse, доступные для анализа

  1. Предположим, вы хотите знать, сколько конкретных товаров было заказано каждый год. Перетащите OrderDate из ORDERS в раздел Столбцы (горизонтальное поле), затем перетащите Quantity из LINEITEM в Строки. Tableau сгенерирует следующий линейный график:
Линейный график Tableau, показывающий количество зака�зов по годам из данных ClickHouse

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

  1. Предположим, вы хотите узнать среднюю сумму заказа (в долларах) по кварталу и также по способу доставки (воздух, почта, доставка, грузовик и т. д.):

    • Нажмите на вкладку Новый лист, чтобы создать новый лист
    • Перетащите OrderDate из ORDERS в Столбцы и измените его с Год на Квартал
    • Перетащите Shipmode из LINEITEM в Строки

Вы должны увидеть следующее:

Представление таблицы Tableau с кварталами в качестве столбцов и способами отправки в качестве строк

  1. Значения Abc просто заполняют пространство, пока вы не перетащите метрику на таблицу. Перетащите Totalprice из ORDERS на таблицу. Обратите внимание, что расчет по умолчанию — это SUM для Totalprices:
Таблица Tableau, показывающая сумму общей цены по кварталу и способу отправки

  1. Нажмите на SUM и измените Мероприятие на Среднее. Из того же выпадающего меню выберите Формат и измените Числа на Валюта (Стандарт):
Таблица Tableau, показывающая среднюю цену заказа по кварталу и способу отправки с форматированием валюты

Отлично! Вы успешно подключили Tableau к ClickHouse, и открыли целый мир возможностей для анализа и визуализации ваших данных ClickHouse.

Установка соединителя вручную

Если вы используете устаревшую версию Tableau Desktop, которая не включает соединитель по умолчанию, вы можете установить его вручную, следуя этим шагам:

  1. Скачайте последний файл taco с Tableau Exchange
  2. Поместите файл taco в
    • macOS: ~/Documents/My Tableau Repository/Connectors
    • Windows: C:\Users\[Windows User]\Documents\My Tableau Repository\Connectors
  3. Перезапустите Tableau Desktop, если ваша настройка прошла успешно, вы увидите соединитель в разделе Новый источник данных.

Советы по подключению и анализу

Для получения дополнительной информации о оптимизации интеграции Tableau-ClickHouse пожалуйста, посетите Советы по подключению и Советы по анализу.

Тесты

Соединитель тестируется с помощью TDVT framework и в настоящее время поддерживает 97% коэффициента покрытия.

Резюме

Вы можете подключить Tableau к ClickHouse, используя универсальный ODBC/JDBC драйвер ClickHouse. Однако этот соединитель упрощает процесс настройки подключения. Если у вас есть какие-либо проблемы с соединителем, не стесняйтесь обращаться на GitHub.