本文主要是介绍【解决方案】数据同步 DATAX,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一.背景
因为需要使用到Mongo的全文检索功能,需要把Mysql表的部分字段同步到MongoDB用户搜索源,在网上找到了阿里的 datax 这个数据同步工具
二.具体使用步骤
2.1 GitHub - alibaba/DataX: DataX是阿里云DataWorks数据集成的开源版本。
2.2 下载最新版本
2.3 datax.tar 包上传到服务器
2.4 tar -xzvf xxx 解压压缩包文件
2.5 /data/datax/datax/job 这里放置同步数据的配置文件
2.6 编写同步数据的脚本 mysql_to_mongo.json
{"job": {"setting": {"speed": {"channel": 1}},"content": [{"reader": {"name": "mysqlreader","parameter": {"username": "zhangbin","password": "xxxxxx","connection": [{"querySql": ["SELECT cg.card_code cardCode,CONCAT(cg.md5_card_number,' ',REPLACE ( cg.md5_card_number,' ','')) md5CardNumber FROM tcard_goods cg WHERE md5_card_number != '';"],"jdbcUrl": ["jdbc:mysql://ip:3306/dbname?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useAffectedRows=true"]}]}},"writer": {"name": "mongodbwriter","parameter": {"address": ["ip:host"],"userName": "username","userPassword": "password","dbName": "dbname","collectionName": "collectionname","column": [ {"name": "cardCode","type": "long"},{"name": "md5CardNumber","type": "string"}],"writeMode": { "isReplace": "false"}}}}]}
}
三.注意
有版本兼容的问题,如果出现版本兼容问题,需要去更新datax/datax/plugin/writer 或者 /data/datax/datax/plugin/reader 下面的驱动类似 mysql驱动,mongodb驱动这些
这篇关于【解决方案】数据同步 DATAX的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!