docker运行datax实现数据同步方案 -- datax/Oracle-Oracle/MySQL篇

本文介绍了如何在Docker环境下利用DataX进行数据同步,特别是Oracle到Oracle及MySQL的同步。文章详细解析了datax运行命令,并提供了配置文件的结构和获取模板的方法,帮助读者理解并实施数据迁移。
摘要由CSDN通过智能技术生成

之前已经构建好了datax镜像,只差最后一步,datax运行

 

datax的使用很简单:

python datax.py 配置文件.json

以上命令就可以直接使用datax了,本次就来分解以上命令

 

首先python打头执行命令,datax.py是datax自带的,该可执行文件再datax的bin目录下,最后加上执行的配置文件

配置文件大体结构是:

读数据库+各种读取信息和条件
|
|
|
写数据库+各种写的信息和条件
|
|
|
加上通用设定,如一次的数据量大小等等

配置文件是要用json来写的,官方有自带模板,进入到bin目录后可以通过命令查看:

 python datax.py -r oraclereader -w oraclewriter

 


2019.1.9更新

今早开始测试datax同步,经过几天的学习,对datax的使用又加深了不少理解。

datax官方自带模板,可以通过命令获得所支持的json模板

 python datax.py -r mysqlreader -w mysqlwriter > mysql2mysql1.json

-r :读的数据库模板,可以是oracle、mysql等等,但是要加上reader
-w :写的数据库模板,同上

> 把模板格式写到一个文件上,后面是自己取的文件名

本次我测试MySQL-MySQL

#在datax脚本路径查看有哪些json
[root@8ec3fabb3594 bin]# ls
datax.py  dxprof.py  perftrace.py

#获取模板,写入json文件
[root@8ec3fabb3594 bin]# python datax.py -r mysqlreader -w mysqlwriter > mysql2mysql1.json

#查看文件是否出现和文件模板内容
[root@8ec3fabb3594 bin]# ls
datax.py  dxprof.py  mysql2mysql1.json  perftrace.py
[root@8ec3fabb3594 bin]# cat mysql2mysql1.json 

DataX (DATAX-OPENSOURCE-3.0), From Alibaba !
Copyright (C) 2010-2017, Alibaba Group. All Rights Reserved.


Please refer to the mysqlreader document:
     https://github.com/alibaba/DataX/blob/master/mysqlreader/doc/mysqlreader.md 

Please refer to the mysqlwriter document:
     https://github.com/alibaba/DataX/blob/master/mysqlwriter/doc/mysqlwriter.md 
 
Please save the following configuration as a json file and  use
     python {DATAX_HOME}/bin/datax.py {JSON_FILE_NAME}.json 
to run the job.

{
    "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"
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值