Подключение Metabase к ClickHouse
Metabase - это простой в использовании инструмент с открытым исходным кодом для получения ответов на вопросы о ваших данных. Metabase - это Java-приложение, которое можно запустить, просто скачав JAR файл и запустив его с помощью java -jar metabase.jar
. Metabase подключается к ClickHouse, используя JDBC драйвер, который вы скачиваете и помещаете в папку plugins
:
Цель
В этом руководстве вы зададите несколько вопросов о ваших данных ClickHouse с помощью Metabase и визуализируете ответы. Один из ответов будет выглядеть так:

Если у вас нет набора данных для работы, вы можете добавить один из примеров. Это руководство использует набор данных UK Price Paid, поэтому вы можете выбрать его. Также есть несколько других, доступных в той же категории документации.
1. Соберите детали соединения
Чтобы подключиться к ClickHouse с помощью HTTP(S), вам нужна следующая информация:
-
ХОСТ и ПОРТ: как правило, порт составляет 8443 при использовании TLS или 8123 при отсутствии TLS.
-
НАЗВАНИЕ БАЗЫ ДАННЫХ: по умолчанию существует база данных с именем
default
, используйте имя базы данных, к которой вы хотите подключиться. -
ИМЯ ПОЛЬЗОВАТЕЛЯ и ПАРОЛЬ: по умолчанию имя пользователя равно
default
. Используйте имя пользователя, соответствующее вашему случаю.
Сведения о вашем ClickHouse Cloud-сервисе доступны в консоли ClickHouse Cloud. Выберите сервис, к которому вы будете подключаться, и нажмите Подключиться:

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

Если вы используете самоуправляемый ClickHouse, детали подключения устанавливаются вашим администратором ClickHouse.
2. Скачайте плагин ClickHouse для Metabase
-
Если у вас нет папки
plugins
, создайте ее в папке, где сохраненmetabase.jar
. -
Плагин - это JAR файл с именем
clickhouse.metabase-driver.jar
. Скачайте последнюю версию JAR файла по адресу https://github.com/clickhouse/metabase-clickhouse-driver/releases/latest -
Сохраните
clickhouse.metabase-driver.jar
в вашей папкеplugins
. -
Запустите (или перезапустите) Metabase, чтобы драйвер был загружен должным образом.
-
Получите доступ к Metabase по адресу http://hostname:3000. При первом запуске вы увидите приветственный экран и должны будете пройти через список вопросов. Если будет предложено выбрать базу данных, выберите "I'll add my data later":
3. Подключите Metabase к ClickHouse
-
Нажмите на иконку шестеренки в правом верхнем углу и выберите Admin Settings, чтобы перейти на вашу административную страницу Metabase.
-
Нажмите Add a database. Альтернативно, вы можете нажать на вкладку Databases и выбрать кнопку Add database.
-
Если установка вашего драйвера прошла успешно, вы увидите ClickHouse в выпадающем меню для Database type:
-
Укажите Display name для вашей базы данных, это настройка Metabase - так что используйте любое имя, которое вам нравится.
-
Введите детали соединения вашей базы данных ClickHouse. Включите безопасное соединение, если ваш сервер ClickHouse настроен на использование SSL. Например:
-
Нажмите кнопку Save, и Metabase просканирует вашу базу данных на наличие таблиц.
4. Запустите SQL запрос
-
Выйдите из Admin settings, нажав кнопку Exit admin в правом верхнем углу.
-
В правом верхнем углу нажмите меню + New и обратите внимание, что вы можете задавать вопросы, запускать SQL запросы и строить дашборды:
-
Например, вот SQL запрос, выполненный на таблице с именем
uk_price_paid
, который возвращает среднюю цену, уплаченную по годам с 1995 по 2022:
5. Задайте вопрос
-
Нажмите на + New и выберите Question. Обратите внимание, что вы можете построить вопрос, начиная с базы данных и таблицы. Например, следующий вопрос задаётся к таблице с именем
uk_price_paid
в базе данныхdefault
. Вот простой вопрос, который вычисляет среднюю цену по городам в округе Большой Манчестер: -
Нажмите кнопку Visualize, чтобы увидеть результаты в виде таблицы.
-
Под результатами нажмите кнопку Visualization, чтобы изменить визуализацию на столбчатую диаграмму (или любой другой доступный вариант):
Узнайте больше
Найдите больше информации о Metabase и о том, как строить дашборды, посетив документацию Metabase.