浅析mysql迁移到clickhouse的5种方法


数据迁移需要从mysql导入clickhouse, 总结方案如下,包括clickhouse自身支持的三种方式,第三方工具两种。官方文档: https://clickhouse.yandex/docs/en/o开发云主机域名perations/table_engines/mysql/注意,实际数据存储在远端mysql数据库中,可以理解成外表。可以通过在mysql增删数据进行验证。可以自定义列类型,列数,使用clickhouse函数对数据进行处理,比如网友文章: http://jackpgao.github.io/2018/02/04/ClickHouse-Use-MySQL-Data/不支持自定义列,参考资料里的博主写的 ENGIN=MergeTree 测试失败。可以理解成 create tableinsert into select 的组合Altinity/clickhouse-mysql-data-readerAltinity公司开源的一个python工具,用来从mysql迁移数据到clickhouse(支持binlog增量更新和全量导入),但是官方readme和代码脱节,根据quick start跑不通。官方文档: https://github.com/Altinity/clickhouse-mysql-data-reader#mysql-migration-case-1—migrate-existing-data注意,上述三种都是从mysql导入clickhouse,如果数据量大,对于mysql压力还是挺大的。下面介绍两种离线方式(streamsets支持实时,也支持离线)csv但是如果源数据质量不高,往往会有问题,比如包含特殊字符(分隔符,转义符),或者换行。被坑的很惨。clean_csv.py参考我另外一篇032-csv文件容错处理streamsetsstreamsets支持从mysql或者读csv全量导入,也支持订阅binlog增量插入,参考我另外一篇 025-大数据ETL工具之StreamSets安装及订阅mysql binlog 。本文只展示从mysql全量导入clickhouse本文假设你已经搭建起streamsets服务启用并重启服务上传mysql和clickhouse的jdbc jar和依赖包便捷方式,创建pom.xml,使用maven统一下载如果本地装有maven,执行如下命令所有需要的jar会下载并复制到lib目录下然后拷贝到 streamsets /opt/streamsets-datacollector-3.9.1/streamsets-libs-extras/streamsets-datacollector-jdbc-lib/lib/ 目录下重启streamsets服务
总结以上所述是小编给大家介绍的mysql迁移到clickhouse的5种方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对开发云网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关推荐: 数据库优化的三个例子

在维护旧数据库的时候经常碰到非常的查询,多数都是两方面的原因。1)没有加索引2)查询语句导致索引用不上3)过多的连接数据库在一个大型的计算中原来每天要花费半小时才能完成,对计算的过程进行仔细的分析,发现下面的语句花费了很长时间select sum(order_…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 06/09 18:28
Next 06/09 18:28

相关推荐