该篇大量图文操作,方便操作上手
假如现在的需求是,A数据库的dept表数据同步到B数据库的org_info表,并且我这里只需要过滤同步指定的查询内容,比如研发部门的数据哈。两个表字段设计如下
dept表
org_info表
大家可以看到两个表字段的名称是不一样的,而且表的字段数量也是不同。接下来我们就开始演练
第一步:项目管理
该操作必须添加,为了在后续添加任务选择所属项目字段使用
第二步:数据源管理添加
A数据源
B数据源
第三步:执行器管理
这里如果是datax-web docker容器部署的话,这里的数据在datax-web启动成功就会自动创建出来。
第四步: 创建任务模版
这一步不是必须的,这里也是暂时创建一个通用的模版,方便在任务构建选中。
第五步: 创建任务构建
这里是重要的一步,实现都在这一步,其他操作都是铺垫。
注意了,where这里我过滤了条件,只想同步这条数据
org_info这个表是空内容哈,这里截图是为了让大家看到后面成功的效果
点击下一步,这里我选择只会同步给B数据库org_info表的这两个字段,这里一定注意,A数据库的dept表选择了几个字段,到B数据库的org_info字段数量肯定要一样,这个没有问题吧,另外字段数据类型和长度尽量要一致哈
点击下一步,最后,我们确认下同步字段信息哈
点击下一步,这里点击构建按钮,给我们生成对应的json格式的脚步配置
紧接着,选择模版按钮,之前我们第四步创建好的模版,对吧,这里鼠标移动点一下就可以了
这里大家复制出来对应的json内容拿出来在,任务管理新增任务,选择dataX任务类型就可以执行。这里截图看下
这里我还是选择了下一步来操作,点击下一步。点击后,跳转到我们第一步新建任务构建的页面就代表成功了,并且右上角有个sucess的小弹窗。就创建成功了
第六步:任务执行
这里我们返回到任务管理列表就可以看到我们刚才第五步创建的任务了
因为我这里只选择执行一次,所以我选择这样
第七步: 日志查看
可以看到,这里已经成功执行了,我们看下数据库的表
这里需要注意下,如果大家按照之前这篇文章搭建的话,第一次是不会执行成功的,具体怎么解决呢?看最下面的异常问题处理
B数据库的org_info表数据已经同步过来了
异常问题
com.alibaba.datax.common.exception.DataXException: Code:[Framework-03], Description:[DataX引擎配置错误,该问题通常是由于DataX安装错误引起,请联系您的运维解决 .]. - 在有总bps限速条件下,单个channel的bps值不能为空,也不能为非正数
# 进入datax-web docker容器
docker exec -it datax-web bash
# 进入目录
cd /home/datax/datax/conf/
# 修改core.json文件
大家可以看到这个speed设置的速率是-1,这里也验证了错误提示的那句话
在有总bps限速条件下,单个channel的bps值不能为空,也不能为非正数
这里我们修改值为我们之前任务构建默认带出来的那个值1048576(1M)
点击保存,退出容器。重新执行下任务就可以正常了。