Datax使用记录

不介绍datax-web的使用,所有的数据同步操作都在datax中完成。

     1.下载官方代码,自己部署成功之后,进入对应的项目根目录下到这里:

 bin存放的是执行脚本,

conf存放配置文件

job存放的是任务的json,json需要自己创建,格式见下面:

lib存放的是项目的jar包

目前支持大部分的关系型数据库和一些分布式数据库还有其他具体见datax源码;

 

其他的比如时序数据库需要自己开发插件;

我们可以通过命令来打印出官方需要的json格式,自己在给出的json中填入目标数据库的链接和账户密码,以及需要同步的字段:

 python  datax.py -r mysqlreader -w mysqlwriter

可以看到json

{
    "job": {
        "content": [
            {
                "reader": {
                    "name": "mysqlreader", 
                    "parameter": {
                        "column": [], 
                        "connection": [
                            {
                                "jdbcUrl": [], 
                                "table": []
                            }
                        ], 
                        "password": "", 
                        "username": "", 
                        "where": ""
                    }
                }, 
                "writer": {
                    "name": "mysqlwriter", 
                    "parameter": {
                        "column": [], 
                        "connection": [
                            {
                                "jdbcUrl": "", 
                                "table": []
                            }
                        ], 
                        "password": "", 
                        "preSql": [], 
                        "session": [], 
                        "username": "", 
                        "writeMode": ""
                    }
                }
            }
        ], 
        "setting": {
            "speed": {
                "channel": ""
            }
        }
    }
}

上面的json是mysql同步到mysql的job需要的json格式。

如果是oracle同步到mysql,只需要吧命令中的mysql改成oracle即可。

 python  datax.py -r oraclereader -w mysqlwriter

上面的json,reader部分的column代表需要同步的列,writer部分的column代表的是需要同步到的列,

jdbcurl,username和password不用多说。

下面是我的json:(把test_DataX1 中的 列id,name,password,creeate_time和operator同步到test_DataX2中的对应id,username,passwd,createtime,operatorname中)

{
  "job": {
    "setting": {
      "speed": {
        "channel": 3,
        "byte": 1048576
      },
      "errorLimit": {
        "record": 0,
        "percentage": 0.02
      }
    },
    "content": [
      {
        "reader": {
          "name": "mysqlreader",
          "parameter": {
            "username": "root",
            "password": "root!",
            "column": [
              "`id`",
              "`name`",
              "`password`",
              "`create_time`",
              "`operator`"
            ],
            "splitPk": "",
            "connection": [
              {
                "table": [
                  "test_DataX1"
                ],
                "jdbcUrl": [
                  "jdbc:mysql://ip:3306/dataxweb?useSSL=false"
                ]
              }
            ]
          }
        },
        "writer": {
          "name": "mysqlwriter",
          "parameter": {
            "username": "root",
            "password": "root!",
            "column": [
              "`id`",
              "`username`",
              "`passwd`",
              "`createtime`",
              "`operatorname`"
            ],
            "connection": [
              {
                "table": [
                  "test_DataX2"
                ],
                "jdbcUrl": "jdbc:mysql://ip:3306/dataxweb?useSSL=false"
              }
            ]
          }
        }
      }
    ]
  }
}

original表数据:

goal表数据:

 

到bin目录下执行命令:

python datax.py ../job/testMysql2Mysql.json

看到结果:

 看表数据:

 

         

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值