竹笋

首页 » 问答 » 问答 » 使用datax工具将MongoDB数据同
TUhjnbcbe - 2023/8/27 21:58:00
北京的最好湿疹医院 http://pf.39.net/bdfyy/bdfrczy/210405/8814564.html

数据同步是一项非常重要的工作,举例来说,mysql之间的跨库同步表数据相对简单,只要我们把表结构和数据导出,再导入到另一个库即可。但是不同数据库直接的数据迁移就比较复杂了。

datax和dataxweb介绍

datax是阿里开发出的异构数据源离线同步工具,它能够支持市场上主流的数据库包括mysql、Oracle、Hive、ODPS、HBase等等各种异构数据源之间稳定高效的数据同步功能。

datax

datax具体如何下载安装这里就不介绍了,大家可以自行百度。

DataXWeb是针对datax开发的分布式数据同步工具,它提供了一个简单易用的操作界面,可以降低我们使用datax的学习成本,可视化界面更简单上手更快。

datax3

datax和DataXWeb的安装使用这里就不介绍了,下面我们直接开始如何将MongoDB的数据同步到mysql教程。

准备MongoDB数据,新建mysql表

首先我们准备MongoDB的数据,前2篇文章我都在使用mongo_demo这张表,关于MongoDB的增删改查也有详细介绍。

MongoDB数据

新建一张mysql表,然后我们使用dataxweb将MongoDB的数据同步到这张表中,可以选择字段。

mysql新表

dataxweb添加数据源

datax和dataxweb安装配置成功,环境配好之后,登录dataxweb,在项目管理中新建一个项目,然后点击数据源管理,新增MongoDB和mysql。

添加数据源

新增DataX任务模板

点击任务管理下的DataX任务模板,新增模板,执行器我选择了默认,也可以自己重新添加,任务类型选择DataX任务,选择新建的项目,其它设置根据自己实际情况即可。

新增模板

需要注意的是Cron定时任务的设置,具体可以打开页面设置,可以设置为触发一次,也可以设置为循环触发,比如30秒触发一次等等,我这里设置了定时定点触发一次。

定时任务

任务构建

任务模板建好之后,就是任务构建了,步骤1构建reader,就是我们需要读取的数据源,这里我们选择MongoDB,过滤掉了最后一个字段。

数据源MongoDB

点击下一步,步骤2构建writer,设置写入的mysql,连接成功如下:

连接mysql

字段映射这里我们选择了全部,如图:

字段映射

点击下一步,选择“1.构建”,看到生成json串,然后点击“2.选择模板”,选择我们上面创建的任务模板,点击最下方的下一步,右侧弹窗出现success表示成功。

构建json串

然后在任务管理页面就会看到生成好的任务。

任务管理

查看日志

最后我们打开开关,等到Cron设置的时间一到,任务执行完之后,可以选择右侧的操作,查看日志。

打开开关日志管理

在日志管理中可以看到我们的日志信息,点击右侧的日志查看,在弹出框中查询导入成功数据的条数等等信息。

插入成功

通过日志我们看到成功插入13条数据,打开mysql表发现数据也已经在里面了。

输入写入成功

需要注意的是,我们的数据源和cron一定要配置正确,不然会导致执行任务失败,如果失败了可以查看日志信息进行调整,另外我在用mysql8.0的时候也会导致报错,不得已改为了5.7,不知道大家测试时会不会报错。

1
查看完整版本: 使用datax工具将MongoDB数据同