从MySQL转储导入到Clickhouse

时间:2017-12-08 05:45:22

标签: mysql ubuntu-16.04 clickhouse

我想从MySQL转储导入到Clickhouse。我尝试过official docs但找不到任何东西。我已尝试在Stack Overflow answer之后使用CSV导入。任何帮助赞赏。我是Ubuntu 16.04 LTS。

2 个答案:

答案 0 :(得分:3)

在小数据上,导出到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中导入500 GB和19亿行7-10小时

答案 1 :(得分:1)

您可以使用MySQL命令行将数据从MySQL导出到TSV文件中:

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

然后将数据导入ClickHouse:

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