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-оболочки, показанное выше, и нажмите 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, соответствующим образом измените приведённую выше конфигурацию
Последнее изменение 25 июня 2026 г.