一.背景
因为需要使用到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驱动这些