Skip to main content
clickhouse-jdbc-bridge содержит экспериментальный код и больше не поддерживается. Он может содержать проблемы с надёжностью и уязвимости безопасности. Используйте его на свой страх и риск.
Для использования JDBC требуется ClickHouse JDBC Bridge, поэтому вам понадобится clickhouse-local на локальной машине, чтобы передавать данные из вашей базы данных в ClickHouse Cloud. Подробнее см. на странице Использование clickhouse-local в разделе Миграция документации.
Обзор: ClickHouse JDBC Bridge в сочетании с табличной функцией jdbc или движком таблицы JDBC позволяет ClickHouse получать доступ к данным из любого внешнего источника данных, для которого доступен JDBC-драйвер: Это удобно, когда для внешнего источника данных нет встроенного движка интеграции, табличной функции или внешнего словаря, но для этого источника доступен JDBC-драйвер. ClickHouse JDBC Bridge можно использовать как для чтения, так и для записи. Также его можно использовать параллельно для нескольких внешних источников данных: например, вы можете выполнять в ClickHouse распределённые запросы к нескольким внешним и внутренним источникам данных в реальном времени. В этом уроке мы покажем, как легко установить, настроить и запустить ClickHouse JDBC Bridge, чтобы подключить ClickHouse к внешнему источнику данных. В качестве внешнего источника данных в этом уроке мы будем использовать MySQL. Начнём!
Предварительные требованияУ вас есть доступ к машине, на которой есть:
  1. Unix shell и доступ в интернет
  2. установленный wget
  3. установлена актуальная версия Java (например, OpenJDK версии >= 17)
  4. установлена и запущена актуальная версия MySQL (например, MySQL версии >=8)
  5. актуальная версия ClickHouse установлена и запущена

Установите ClickHouse JDBC Bridge локально

Самый простой способ использовать ClickHouse JDBC Bridge — установить и запустить его на том же хосте, где работает ClickHouse: Для начала подключитесь к Unix shell на машине, где работает ClickHouse, и создайте локальную папку, в которую позже будет установлен ClickHouse JDBC Bridge (папку можно назвать как угодно и разместить где угодно):
Теперь загрузим в эту папку актуальную версию ClickHouse JDBC Bridge:
Чтобы подключиться к MySQL, создадим именованный источник данных:
Теперь вы можете скопировать следующую конфигурацию и вставить её в файл ~/clickhouse-jdbc-bridge/config/datasources/mysql8.json:
в приведённом выше конфигурационном файле
  • для источника данных можно использовать любое имя; мы использовали mysql8
  • в значении jdbcUrl нужно заменить <host> и <port> на подходящие значения для вашего экземпляра MySQL, например "jdbc:mysql://localhost:3306"
  • нужно заменить <username> и <password> на ваши учетные данные MySQL; если пароль не используется, можно удалить строку "password": "<password>" из приведённого выше конфигурационного файла
  • в значении driverUrls мы просто указали URL, по которому можно скачать текущую версию JDBC-драйвера MySQL. Это всё, что нужно сделать: ClickHouse JDBC Bridge автоматически скачает этот JDBC-драйвер (в каталог, зависящий от ОС).

Теперь мы готовы запустить ClickHouse JDBC Bridge:
Мы запустили ClickHouse JDBC Bridge в режиме переднего плана. Чтобы остановить Bridge, верните на передний план окно Unix shell, показанное выше, и нажмите CTRL+C.

Использование JDBC-подключения в ClickHouse

Теперь ClickHouse может получать доступ к данным MySQL либо с помощью табличной функции jdbc, либо с помощью движка таблицы JDBC. Проще всего выполнить следующие примеры, если скопировать и вставить их в clickhouse-client или в интерфейс Play.
  • Табличная функция jdbc:
В качестве первого параметра табличной функции JDBC мы используем имя именованного источника данных, который настроили выше.
  • Движок таблицы JDBC:
В качестве первого параметра для движка jdbc мы используем имя именованного источника данных, который настроили вышеСхема таблицы с движком ClickHouse JDBC и схема подключённой таблицы MySQL должны быть согласованы: например, имена столбцов и их порядок должны совпадать, а типы данных столбцов — быть совместимыми

Установка ClickHouse JDBC Bridge на отдельном хосте

Для распределённого кластера ClickHouse (то есть кластера с более чем одним хостом ClickHouse) имеет смысл установить и запускать ClickHouse JDBC Bridge отдельно, на собственном хосте: Преимущество такого подхода в том, что каждый хост ClickHouse сможет обращаться к JDBC Bridge. В противном случае JDBC Bridge пришлось бы устанавливать локально на каждом экземпляре ClickHouse, которому нужен доступ к внешним источникам данных через Bridge. Чтобы установить ClickHouse JDBC Bridge отдельно, выполните следующие шаги:
  1. Установите, настройте и запустите ClickHouse JDBC Bridge на выделенном хосте, следуя шагам, описанным в разделе 1 этого руководства.
  2. На каждом хосте ClickHouse добавьте следующий блок конфигурации в конфигурацию сервера ClickHouse (в зависимости от выбранного формата конфигурации используйте вариант XML или YAML):
  • замените JDBC-Bridge-Host на имя хоста или IP-адрес выделенного хоста ClickHouse JDBC Bridge
  • здесь указан стандартный порт ClickHouse JDBC Bridge — 9019; если вы используете другой порт для JDBC Bridge, соответствующим образом измените приведённую выше конфигурацию
Последнее изменение 23 июля 2026 г.