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

阿里开源数据同步工具–DataX下载地址:QuickStartDataX是异构数据源离线同步工具。能够将MySQLsqlServerOracleHiveHBaseFTP之间进行稳定高效的数据同步。设计思路:网状连接-》星型连接目前支持哪些数据同步?:核心架构:推荐使用python2.67不要使用python3,0使用方法和案例:1.准备一个job….

大家好,又见面了,我是你们的朋友全栈君。

下载 地址:QuickStart
DataX是异构数据源离线同步工具。能够将MySQL sqlServer Oracle Hive HBase  FTP 之间进行稳定高效的数据同步。

设计思路:

   网状连接-》 星型连接

 

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

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

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

核心架构:

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

使用方法和案例:

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

执行命令:

python datax.py job.json                         

提供几个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 
            }  
        }  
    }  
}  

原文:https://blog.csdn.net/wangming520liwei/article/details/70159537 
 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/154036.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号