Временный тестовый сервер

Песочница ClickHouse

Временный ClickHouse для тестовых запросов и загрузки данных, пока основная база на обслуживании. Подключиться можно только через SSH-туннель.

Введите свой логин, и он подставится во все команды ниже. Пароль вам прислали лично: это ровно 20 символов без пробелов, один и тот же для SSH и для ClickHouse.

Подключение в DBeaver

  1. В меню База данных → Новое соединение найдите ClickHouse (поиском или в группе Analytical) и нажмите Далее. Если DBeaver предложит скачать драйвер, согласитесь.

  2. На вкладке Главное укажите:

    Главное

    Connect by
    Host
    Хост
    localhost
    Порт
    8123
    БД/Схема
    default
    Пользователь
    Пароль
    ваш пароль
  3. Откройте туннель одним из двух способов.

    Вариант 1. Туннель в DBeaver

    Перейдите на вкладку SSH. Если её нет, добавьте кнопкой + справа вверху и выберите SSH.

    Хост/IP
    62.113.112.66
    Порт
    22
    Имя польз-ля
    Метод аутентификации
    Пароль
    Пароль
    тот же пароль

    Нажмите Тест соединения на этой вкладке. При первом подключении появится окно 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 @62.113.112.66

    При первом запуске терминал покажет отпечаток ключа сервера. Введите yes, только если он совпадает:

    ED25519 SHA256:yRL1xKtSgsdHOyfM92W7HbrzEblOowg3Ai6C7t4VQfw

    Вкладка SSH в DBeaver в этом случае не нужна: если она есть, закройте её крестиком.

    Если отпечаток не совпадает, не подключайтесь и напишите администратору песочницы.

  4. Нажмите Тест соединения ... внизу окна, затем Готово.

Загрузка CSV через DBeaver

  1. Щёлкните правой кнопкой по своей базе данных (или по готовой таблице), выберите Импорт данных → CSV и укажите файл.

  2. На шаге Соответствие столбцов введите имя новой таблицы, и DBeaver создаст её сам. Для больших таблиц лучше заранее создать таблицу вручную с подходящим ORDER BY.

  3. В Настройках загрузки данных не включайте Отключить пакетный импорт, в поле Выполнять Commit после вставки строк поставьте около 100000 и включите Использовать мультивставку значений, если такая опция есть. ClickHouse хорошо переносит редкие крупные вставки и плохо частые мелкие: построчная загрузка заканчивается ошибкой «Too many parts».

Большие файлы через командную строку

Для файлов в несколько гигабайт так намного быстрее: клиент сжимает данные и передаёт их по нативному протоколу ClickHouse. Работает на macOS и Linux, в Windows используйте WSL.

  1. Откройте туннель в терминале, введите пароль и оставьте окно открытым:

    ssh -N -o ExitOnForwardFailure=yes -L 9000:127.0.0.1:9000 @62.113.112.66

    Если порт 9000 у вас уже занят, замените первое число (например, -L 19000:127.0.0.1:9000) и укажите этот порт в следующей команде.

  2. Во втором окне терминала скачайте клиент (это один файл) и подключитесь:

    curl https://clickhouse.com/ | sh
    ./clickhouse client --host 127.0.0.1 --port 9000 --user  --password
  3. Загрузите файл со своего компьютера. Сжатые файлы (.gz, .zst) распознаются по расширению:

    INSERT INTO _work.events FROM INFILE 'events.csv.gz' FORMAT CSVWithNames

Если открыт туннель на порт 8123 (вариант 2 выше), запросы можно выполнять и в браузере: откройте http://localhost:8123/play и введите логин и пароль вверху страницы.