实用工具之DataX数据同步
前言
本来还在考虑要不要自己写一个工具,将老系统中的SQL Server的数据迁移出来,因为服务器特别的老,数据也比较多,想写一个同步工具,后来今天还看到了数据自动同步的工具,比如:DataX、Tis
1.基于TIS快速实现MySQL到StarRocks的实时数据同步方案
2.各种开源数据库同步工具汇总
3.dataX是阿里开源的离线数据库同步工具的使用
4.阿里云开源离线同步工具DataX3.0介绍
5.alibaba /DataX
6.几种主流数据同步/ETL工具的比较 TurboDX、Oracle Goldengate、Kettle、DataX、Informatica
7.DataX在有赞大数据平台的实践
8.DataX管理系统datax-web安装部署记录
1.下载
到官网下载安装包
2.安装
只需要解压就可以进行安装了,但是需要的依赖,包括java、maven和python,python最好是python2,如果不是的话,还要修改datax的执行脚本,因为 datax.py 使用的是python2编写的
3.编写json
这里我测试的是从sqlserver导入数据到starrocks中。到starrocks官网下载 writer 插件,放到datax的插件文件夹中,我这里是 /usr/local/datax/plugin/writer 目录。
1 | { |
从sqlserver 导出数据导starrocks示例:
1 | { |
4.执行数据迁移
1 | python /usr/local/datax/bin/datax.py /usr/local/datax/job/full_starrocks.json |
1.datax入门到实战及面试 这里使用的是源码编译的方式安装的Datax,还有关于面试的一些问题
2.datax的安装与使用
3.DataX的Clickhouse读写插件
4.使用Datax同步mysql,oracle,sqlserver数据到Hbase 这里提到了一个datax-web,应该是一个可视化的配置页面,可以修改json数据内容
5.增量同步
因为每一次使用python进行同步的时候,所有的数据都会重新进行同步一遍,明显的就是说,使用Ctrl+C结束进程,然后再重新进行同步的时候,所有的记录又都查询了一遍。增量同步的意思,就是重复的记录就不要进行重复同步了,这样也不用担心数据会重复存储了。
1.DataX 数据全量,增量同步方案 这里提供了一个shell脚本,将获取到的时间写入csv文件中,然后动态修改json文件,达到增量更新的目的
2.datax调研及增量更新的思路 这里提到了一个 DataX-Migration 的工具。
3.Jawf/DataX-Migration
4.使用 DataX 增量同步数据
5.DataX (原理, 增量全量同步数据实践) 这里是通过在json中,通过querySQL实现的
问题
1.plugin.json 不存在
配置信息错误,您提供的配置文件[/usr/local/datax/plugin/reader/._drdsreader/plugin.json]不存在. 请检查您的配置文件
[解决方法]
1 | ## 进入 |
2.postgresqlwrite字段名大写问题
如果postgresql数据库中的字段名是大写的情况下,那么在 “column”: [] 的字段配置中,就应该这么写 “column”: [“"RecordTime"“],而不是 “column”: [“RecordTime"]。
1 | "writer": { |
mysql的语句应该是 “column”: [“RecordTime
“]
1 | "reader": { |
3.在有总bps限速条件下,单个channel的bps值不能为空,也不能为非正数
修改 datax/conf/core.json 文件,修改core -> transport -> channel -> speed -> “byte”: 2000000,将单个channel的大小改为2MB即可。
【1】.DataX报错解决办法 - 在有总bps限速条件下,单个channel的bps值不能为空,也不能为非正数 修改文件datax/conf/core.json