Миграция в ClickHouse с использованием clickhouse-local

Вы можете использовать ClickHouse, точнее, clickhouse-local
в качестве ETL инструмента для миграции данных из вашей текущей системы базы данных в ClickHouse Cloud, при условии, что для вашей текущей системы базы данных доступен либо
интеграционный движок, предоставляемый ClickHouse integration engine, либо функция таблицы, или доступен JDBC-драйвер или ODBC-драйвер, предоставленный поставщиком.
Мы иногда называем этот метод миграции "методом поворота", потому что он использует промежуточную точку поворота или переход для перемещения данных из исходной базы данных в целевую базу данных. Например, этот метод может быть необходим, если в частной или внутренней сети разрешены только исходящие соединения из-за требований безопасности, и поэтому вам нужно извлечь данные из исходной базы данных с помощью clickhouse-local, а затем загрузить данные в целевую базу данных ClickHouse, где clickhouse-local выступает в роли точки поворота.
ClickHouse предоставляет интеграционные движки и функции таблиц (которые создают интеграционные движки по запросу) для MySQL, PostgreSQL, MongoDB и SQLite. Для всех других популярных систем баз данных доступен JDBC-драйвер или ODBC-драйвер от поставщика системы.
Что такое clickhouse-local?

Обычно ClickHouse работает в виде кластера, где несколько экземпляров движка базы данных ClickHouse работают распределенно на разных серверах.
На одном сервере движок базы данных ClickHouse запускается как часть программы clickhouse-server
. Доступ к базе данных (пути, пользователи, безопасность и т.д.) настраивается с помощью файла конфигурации сервера.
Инструмент clickhouse-local
позволяет использовать движок базы данных ClickHouse в изоляции в виде командной утилиты для очень быстрого SQL-обработки данных на большом объеме входных и выходных данных, без необходимости настраивать и запускать сервер ClickHouse.
Установка clickhouse-local
Вам нужна хост-машина для clickhouse-local
, которая имеет сетевой доступ как к вашей текущей системе базы данных, так и к вашей целевой службе ClickHouse Cloud.
На этой хост-машине загрузите соответствующую сборку clickhouse-local
в зависимости от операционной системы вашего компьютера:
- Linux
- macOS
- Самый простой способ скачать
clickhouse-local
локально - это выполнить следующую команду:
- Запустите
clickhouse-local
(он просто выведет свою версию):
- Самый простой способ скачать
clickhouse-local
локально - это выполнить следующую команду:
- Запустите
clickhouse-local
(он просто выведет свою версию):
Примеры в этом руководстве используют команды Linux для запуска clickhouse-local
(./clickhouse-local
).
Чтобы запустить clickhouse-local
на Mac, используйте ./clickhouse local
.
Чтобы функция remoteSecure
могла подключиться к вашей службе ClickHouse Cloud, IP-адрес удаленной системы должен быть разрешен в списке доступа IP. Разверните раздел Управляйте своим списком доступа IP ниже этого совета для получения дополнительной информации.
title: 'Управление списком разрешенных IP' sidebar_label: 'Управление списком разрешенных IP' keywords: ['ClickHouse', 'IP Access List', 'cloud services'] description: 'Управление доступом к вашим ClickHouse Cloud сервисам через список разрешенных IP.'
Пример 1: Миграция из MySQL в ClickHouse Cloud с помощью интеграционного движка
Мы будем использовать интеграционный движок таблиц (создаваемый по запросу с помощью функции таблицы mysql) для чтения данных из исходной базы данных MySQL и будем использовать функцию таблицы remoteSecure для записи данных в целевую таблицу на вашей службе ClickHouse Cloud.

На целевой службе ClickHouse Cloud:
Создайте целевую базу данных:
Создайте целевую таблицу, которая имеет схему, эквивалентную таблице MySQL:
Схема таблицы ClickHouse Cloud и схема исходной таблицы MySQL должны совпадать (имена колонок и порядок должны быть одинаковыми, а типы данных колонок должны быть совместимыми).
На хост-машине clickhouse-local:
Запустите clickhouse-local с запросом миграции:
Данные не хранятся локально на хост-машине clickhouse-local
. Вместо этого данные считываются из исходной таблицы MySQL
и затем немедленно записываются в целевую таблицу на службе ClickHouse Cloud.
Пример 2: Миграция из MySQL в ClickHouse Cloud с помощью JDBC моста
Мы будем использовать интеграционный движок таблиц JDBC (создаваемый по запросу с помощью функции таблицы jdbc) вместе с JDBC мостом для ClickHouse и JDBC-драйвером MySQL для чтения данных из исходной базы данных MySQL и будем использовать функцию таблицы remoteSecure для записи данных в целевую таблицу на вашей службе ClickHouse Cloud.

На целевой службе ClickHouse Cloud:
Создайте целевую базу данных:
Создайте целевую таблицу, которая имеет схему, эквивалентную таблице MySQL:
Схема таблицы ClickHouse Cloud и схема исходной таблицы MySQL должны совпадать, например, имена колонок и порядок должны быть одинаковыми, а типы данных колонок должны быть совместимыми.
На хост-машине clickhouse-local:
Установите, настройте и запустите JDBC мост ClickHouse локально:
Следуйте инструкциям из руководства. Руководство также содержит шаги по настройке источника данных из MySQL.
Запустите clickhouse-local с запросом миграции:
Данные не хранятся локально на хост-машине clickhouse-local
. Вместо этого данные считываются из исходной таблицы MySQL
и затем немедленно записываются в целевую таблицу на службе ClickHouse Cloud.