Временный тестовый сервер
Песочница ClickHouse
Временный ClickHouse для тестовых запросов и загрузки данных, пока основная база на обслуживании. Подключиться можно только через SSH-туннель.
Подключение в DBeaver
В меню База данных → Новое соединение найдите ClickHouse (поиском или в группе Analytical) и нажмите Далее. Если DBeaver предложит скачать драйвер, согласитесь.
На вкладке Главное укажите:
Главное
- Connect by
- Host
- Хост
- localhost
- Порт
- 8123
- БД/Схема
- default
- Пользователь
- sbxNN
- Пароль
- ваш пароль
Откройте туннель одним из двух способов.
Вариант 1. Туннель в DBeaver
Перейдите на вкладку SSH. Если её нет, добавьте кнопкой + справа вверху и выберите SSH.
- Хост/IP
- 62.113.112.66
- Порт
- 22
- Имя польз-ля
- sbxNN
- Метод аутентификации
- Пароль
- Пароль
- тот же пароль
Нажмите Тест соединения на этой вкладке. При первом подключении появится окно Connection confirmation с отпечатком ключа сервера. Нажмите Да, только если отпечаток совпадает:
ssh-ed25519 6d:70:ca:08:03:81:87:c6:a7:96:2f:9f:f0:e1:ea:b5
или
Вариант 2. Туннель в терминале
Выполните команду (macOS, Linux или PowerShell в Windows) и введите пароль. После этого команда ничего не выводит: это значит, что туннель работает. Не закрывайте окно, пока работаете. Проверить туннель можно в браузере:
http://localhost:8123/pingответитOk.ssh -N -o ExitOnForwardFailure=yes -L 8123:127.0.0.1:8123 sbxNN@62.113.112.66При первом запуске терминал покажет отпечаток ключа сервера. Введите
yes, только если он совпадает:ED25519 SHA256:yRL1xKtSgsdHOyfM92W7HbrzEblOowg3Ai6C7t4VQfw
Вкладка SSH в DBeaver в этом случае не нужна: если она есть, закройте её крестиком.
Если отпечаток не совпадает, не подключайтесь и напишите администратору песочницы.
Нажмите Тест соединения ... внизу окна, затем Готово.
Загрузка CSV через DBeaver
Щёлкните правой кнопкой по своей базе данных (или по готовой таблице), выберите Импорт данных → CSV и укажите файл.
На шаге Соответствие столбцов введите имя новой таблицы, и DBeaver создаст её сам. Для больших таблиц лучше заранее создать таблицу вручную с подходящим
ORDER BY.В Настройках загрузки данных не включайте Отключить пакетный импорт, в поле Выполнять Commit после вставки строк поставьте около 100000 и включите Использовать мультивставку значений, если такая опция есть. ClickHouse хорошо переносит редкие крупные вставки и плохо частые мелкие: построчная загрузка заканчивается ошибкой «Too many parts».
- Храните свои таблицы в своей базе, например
CREATE DATABASE sbxNN_work. - Не разбивайте таблицы на партиции по дням: используйте
PARTITION BY toYYYYMM(event_date)или обходитесь без партиций. - DBeaver загружает данные через ваш интернет. Файлы до нескольких гигабайт загружаются нормально, бо́льшие удобнее грузить из командной строки.
Большие файлы через командную строку
Для файлов в несколько гигабайт так намного быстрее: клиент сжимает данные и передаёт их по нативному протоколу ClickHouse. Работает на macOS и Linux, в Windows используйте WSL.
Откройте туннель в терминале, введите пароль и оставьте окно открытым:
ssh -N -o ExitOnForwardFailure=yes -L 9000:127.0.0.1:9000 sbxNN@62.113.112.66Если порт 9000 у вас уже занят, замените первое число (например,
-L 19000:127.0.0.1:9000) и укажите этот порт в следующей команде.Во втором окне терминала скачайте клиент (это один файл) и подключитесь:
curl https://clickhouse.com/ | sh./clickhouse client --host 127.0.0.1 --port 9000 --user sbxNN --passwordЗагрузите файл со своего компьютера. Сжатые файлы (
.gz,.zst) распознаются по расширению:INSERT INTO sbxNN_work.events FROM INFILE 'events.csv.gz' FORMAT CSVWithNames
Если открыт туннель на порт 8123 (вариант 2 выше), запросы можно выполнять и в браузере: откройте http://localhost:8123/play и введите логин и пароль вверху страницы.