从mysql转储导入clickhouse

sg24os4d  于 2021-07-15  发布在  ClickHouse
关注(0)|答案(2)|浏览(489)

我想从mysql转储导入clickhouse。我试过查阅官方文件,但什么也找不到。我试过在堆栈溢出回答之后使用csv导入。谢谢你的帮助。我有一个ubuntu 16.04 lts。

yws3nbqq

yws3nbqq1#

在小数据上,导出到tsv会起作用,但总体上不会起作用,因为只导出会花费很多时间。
在这种情况下,您需要直接从stdout导入,clickhouse知道如何完美地进行导入。
示例代码:

mysql -u user  -ppass --compress -ss -e "SELECT * FROM table WHERE id >0  AND id <=1000000" db_name | sed 's/\"//g;s/\t/","/g;s/^/"/;s/$/"/' | clickhouse-client --query="INSERT INTO db_name.table FORMAT CSV"

使用这种方法,我在clickhouse中7-10小时内导入500GB和19亿行

htzpubme

htzpubme2#

您可以使用mysql命令行将数据从mysql导出到tsv文件:

mysql -Bse "select * from TABLE_NAME" > table.tsv

然后将数据导入clickhouse:

cat table.tsv | clickhouse-client --query="INSERT INTO TABLE_NAME FORMAT TabSeparated"

相关问题