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

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

ClickHouse Supported

ClickHouse предоставляет официальный коннектор Tableau, доступный на Tableau Exchange. Этот коннектор основан на современном JDBC‑драйвере ClickHouse.

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

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

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

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

    Параметр(ы)Описание
    HOST и PORTОбычно используется порт 8443 при использовании TLS или 8123 при отсутствии TLS.
    DATABASE NAMEПо умолчанию существует база данных default; используйте имя базы данных, к которой вы хотите подключиться.
    USERNAME и PASSWORDПо умолчанию имя пользователя — default. Используйте имя пользователя, соответствующее вашему сценарию.

    Сведения о вашем сервисе ClickHouse Cloud доступны в консоли ClickHouse Cloud. Выберите сервис и нажмите Connect:

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

    Выберите HTTPS. Параметры подключения отображаются в примере команды curl.

    Параметры HTTPS-подключения ClickHouse Cloud

    Если вы используете самостоятельное (self-managed) развертывание ClickHouse, параметры подключения задаются администратором ClickHouse.

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

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

Примечание

Убедитесь, что вы скачали 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. В левом меню в разделе To a Server нажмите More. Найдите ClickHouse by ClickHouse в списке доступных коннекторов:

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

Примечание

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

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

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

  1. Укажите параметры подключения:

    SettingValue
    ServerВаш хост ClickHouse (без префиксов и суффиксов)
    Port8443
    Databasedefault
    Usernamedefault
    Password****
Примечание

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


Примечание

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

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

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

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

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

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

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

  1. Нажмите кнопку Update Now, и 100 строк из CUSTOMER заполнят таблицу.

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

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

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

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

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

  1. Предположим, вы хотите узнать средний размер заказа (в долларах) по кварталам, а также по способу доставки (air, mail, ship, truck и т. д.):

    • Нажмите вкладку New Worksheet, чтобы создать новый лист
    • Перетащите OrderDate из ORDERS в Columns и измените его с Year на Quarter
    • Перетащите Shipmode из LINEITEM в Rows

Вы увидите примерно следующее:

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

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

  1. Нажмите на SUM и измените Measure на Average. В том же выпадающем меню выберите Format и измените Numbers на Currency (Standard):
Табличное представление 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. Если установка прошла успешно, коннектор появится в разделе New Data Source.

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

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

Тесты

Коннектор тестируется с использованием фреймворка TDVT и в настоящее время имеет уровень покрытия тестами 97%.

Краткое описание

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