Dump/Import data from clickhouse

17,643 views
Skip to first unread message

Олег Облеухов

unread,
Aug 8, 2016, 10:37:55 AM8/8/16
to ClickHouse
I do not see the proper way how to export data from clickhouse and import it on other host. Something like mysqldump or simular.
What is the best way?

Thanks!

Олег Облеухов

unread,
Aug 8, 2016, 10:58:58 AM8/8/16
to ClickHouse
This is not for a backup, but export data do different cluster (not whole set of data)

понедельник, 8 августа 2016 г., 16:37:55 UTC+2 пользователь Олег Облеухов написал:

man...@gmail.com

unread,
Aug 8, 2016, 4:23:35 PM8/8/16
to ClickHouse
There are several possibilities.

1. You could create and restore per-table dump.

Dump of data:
clickhouse-client --query="SELECT * FROM table FORMAT Native" > table.native
Native is the most efficient format.
CSV, TabSeparated, JSONEachRow are more portable: you may import/export data to another DBMS.

Dump of metadata:
clickhouse-client --query="SHOW CREATE TABLE table" --format=TabSeparatedRaw > table.sql

Restore of metadata:
clickhouse-client < table.sql

Restore of data:
clickhouse-client --query="INSERT INTO table FORMAT Native" < table.native


2. Binary copy of data directory.

For non-replicated tables:
Stop the server, rsync/scp/etc... its data directory, start the server.

Make sure that file access rights and ownership are correct.


3. Binary backup and restore for MergeTree tables.

Do ALTER ... FREEZE PARTITION
https://clickhouse.yandex/reference_en.html#Manipulations%20with%20partitions%20and%20parts

Create table on another server.
Move generated backups to another server to 'detached' directory
and do ALTER ... ATTACH PARTITION on it.

Make sure that file access rights and ownership are correct.

Александр Ат

unread,
Mar 24, 2017, 8:02:40 AM3/24/17
to ClickHouse
Ребят как перекинуть данные с дампа CSV или Native на другой сервер с такойже структурой таблицы только там +1 новая колонка которой нету в дампе ? 

побывал такое 
clickhouse-client -port="9199" --query="INSERT INTO table (event_date, time, 1 as server_id ... ) table FORMAT CSV < 1.csv

Vadim Sichkarev

unread,
Mar 24, 2017, 2:46:28 PM3/24/17
to ClickHouse
на вскидку
1. скопировать в таблицу со структурой соответствующей дампу
2. запросом перенести данные из этой таблицы в таблицу где у тебя +1 колонка

пятница, 24 марта 2017 г., 17:02:40 UTC+5 пользователь Александр Ат написал:

man...@gmail.com

unread,
Mar 27, 2017, 2:37:56 AM3/27/17
to ClickHouse
В списке столбцов для вставки в запросе INSERT укажите только те столбцы, которые есть в дампе.
Для нового столбца в таблице пропишите DEFAULT выражение, например DEFAULT 1.
Тогда при вставке, этот новый столбец, будет заполнен значением по-умолчанию.
Reply all
Reply to author
Forward
0 new messages