我想从MySQL转储导入到Clickhouse。我尝试过official docs但找不到任何东西。我已尝试在Stack Overflow answer之后使用CSV导入。任何帮助赞赏。我是Ubuntu 16.04 LTS。
答案 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"