ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

阿里开源数据同步工具--DataX

2019-08-08 10:38:01  阅读:642  来源: 互联网

标签:name job 192.168 开源 阿里 DataX oracle parameter 1521


 

阿里开源数据同步工具--DataX

是啥?:

    是异构数据源离线同步工具

能干啥?:

 能够将MySQL sqlServer Oracle Hive HBase  FTP 之间进行稳定高效的数据同步。

 

设计思路:

   网状连接-》 星型连接

 

看图:

 

 

目前支持哪些数据同步?:

 

核心架构:

 推荐使用python 2.6 7 不要使用python 3,0 

使用方法和案例:

 

1. 准备一个job.json  或者job.xml

执行命令:

 

python datax.py job.json

 

 

下载 地址:QuickStart


提供几个json :

1: oracle 到本地文件

 

{  
    "job": {  
        "content": [  
            {  
                 "reader": {
                    "name": "oraclereader",
                    "parameter": {
                        "username": "xxxxx",
                        "password": "xxxxxx",
                        "where": "",
                        "connection": [
                            {
                                "querySql": [
                                    "select * from table1"
                                ],
                                "jdbcUrl": [
                                    "jdbc:oracle:thin:@192.168.121.30:1521:tcenter"
                                ]
                            }
                        ]
                    }
                },  
                "writer": {  
                    "name": "txtfilewriter",
                    "parameter": {
                        "path": "D:/data/",
                        "fileName": "oracledata",
                        "writeMode": "truncate",
                        "format": "yyyy-MM-dd"
                       }
                   }  
                } 
        ],  
        "setting": {  
            "speed": {  
                "channel": 1  
            }  
        }  
    }  
}  

 

 

2.oracle ->oracle

 

{  
    "job": {  
        "content": [  
            {  
                 "reader": {
                    "name": "oraclereader",
                    "parameter": {
                        "username": "xxxx",
                        "password": "xxxx",
                        "column": ["*"],
                        "where": "",
                        "connection": [
                            {
                                "querySql": [
                                    "select * from table1"
                                ],
                                "jdbcUrl": [
                                    "jdbc:oracle:thin:@192.168.121.30:1521:tcenter"
                                ]
                            }
                        ]
                    }
                },  
                "writer": { 
            		"name": "oraclewriter", 
            		"parameter": {
                        "username": "xxxx",
	                    "password": "xxxx",
	                    "truncate": "true",
                        "column": ["SYSTEMNO",
                                "SYSTEMTIME",
                                "xxx",
                                "x",
                                "x",
                                "x",
                                "x",
                                "x",
                                "x",
                                "x",
                                "x",
                                "x",
                                "STATUS",
                                "x",
                                "x",
                                "x"
                                ],
	                    "connection": [
                            {
                                
                                "jdbcUrl": "jdbc:oracle:thin:@192.168.121.30:1521:tcexxnter",
                                "table": [
                                    "table1"
                                ]
                            }
                        ]
                      }
                }  
            } 
        ],  
        "setting": {  
            "speed": {  
                "channel": 6 
            }  
        }  
    }  
}  

 

 

关联查询入库demo:

 

 

建表SQL:

 

CREATE TABLE ZF_PaytDemo(
       SystemNo          VARCHAR2(32)  NOT NULL,
       MainOrderSystemNo		VARCHAR2(32)	NOT NULL,
       TxAmount          NUMBER(16)    NOT NULL,
       AccountAmount       NUMBER(16)    NOT NULL,
       FinanceChannelCode		VARCHAR2(64)  	NOT NULL
);

Json:

 

 

{  
    "job": {  
        "content": [  
            {  
                 "reader": {
                    "name": "oraclereader",
                    "parameter": {
                        "username": "xxx",
                        "password": "xxx",
                        "where": "",
                        "connection": [
                            {
                                "querySql": [
                                    "select B.SYSTEMNO, A.SYSTEMNO AS MainOrderSystemNo, B.txamount, B.AccountAmount,  B.Financechannelcode from zf_fundinordermain A left join zf_fundinorderpayt B on A.Systemno = B.MAINORDERSYSTEMNO where  A.Systemno ='35112016091411580603700000' "
                                ],
                                "jdbcUrl": [
                                    "jdbc:oracle:thin:@192.168.121.30:1521:tcenter"
                                ]
                            }
                        ]
                    }
                },  
                "writer": { 
            		"name": "oraclewriter", 
            		"parameter": {
                        "username": "xxx",
	                    "password": "xxx",
	                    "truncate": "false",
                        "column": [
                            "SystemNo",
                            "MainOrderSystemNo",
                            "TxAmount",
                            "AccountAmount",
                            "FinanceChannelCode"
                        ],
	                    "connection": [
                            {
                                
                                "jdbcUrl": "jdbc:oracle:thin:@192.168.121.30:1521:tcenter",
                                "table": [
                                    "ZF_PaytDemo"
                                ]
                            }
                        ]
                      }
                }  
           }
        ],  
        "setting": {  
            "speed": {  
                "channel": 1  
            }  
        }  
    }  
}  

 

file->oracle JSON:

 

 

{  
    "job": {  
        "content": [  
            {  
                 "reader": {
                    "name": "txtfilereader",
                    "parameter": {
                        "path": ["D:/datax.txt"],
                        "encoding": "UTF-8",
                        "column": [
                            {
                                "index": 0,
                                "type": "string"
                            },
                            {
                                "index": 1,
                                "type": "string"
                            },
                            {
                                "index": 2,
                                "type": "long"
                            },
                            {
                                "index": 3,
                                "type": "long"
                            },
                            {
                                "index": 4,
                                "type": "string"
                            }
                        ],
                        "fieldDelimiter": "\t"
                    }
                },  
                "writer": { 
            		"name": "oraclewriter", 
            		"parameter": {
                        "username": "xxxx",
	                    "password": "xxxx",
	                    "truncate": "true",
                        "column": [  
                            "SystemNo",
                            "MainOrderSystemNo",
                            "TxAmount",
                            "AccountAmount",
                            "FinanceChannelCode"
                        ],
	                    "connection": [
                            {
                                
                                "jdbcUrl": "jdbc:oracle:thin:@192.168.121.30:1521:tcenter",
                                "table": [
                                    "ZF_PaytDemo"
                                ]
                            }
                        ]
                      }
                }  
            } 
        ],  
        "setting": {  
            "speed": {  
                "channel": 6 
            }  
        }  
    }  
}  

 

 

 

 

 

 

 

 

 

问题解决,给大家发福利,有有效期的, 支付宝扫码, 赶紧 过期不候啊

 

标签:name,job,192.168,开源,阿里,DataX,oracle,parameter,1521
来源: https://blog.csdn.net/wangming520liwei/article/details/70159537

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有