阿里开源数据同步工具–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 
 

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

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

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 微信小程序下订单支付代码实现

    微信小程序下订单支付代码实现目录支付流程具体实现一、前端调用登录获取code二、服务端接收code,服务端调用微信api获取openId三、前端点击去支付时四、服务端请求微信统一下单接口五、前端获取到prePay_id调起支付六、注意支付流程点击去结算时,,前端判断是否登录【未登录跳转到登录页】,登录发送code到服务端,服务端使用code发送请求去获取openId;并返回userId/openId存储在storage;点击去支付时,前端发送请求【订单详细,openId】,服务器用openId去统一下单,下单成功后,获

    2022年6月5日
  • 微信服务号开发整体流程图_微信号怎么改第二次

    微信服务号开发整体流程图_微信号怎么改第二次1、微信的各个平台微信开放平台,面向开发人员,为网站、App提供微信第三方登录功能,为App提供支付功能(通过客户端sdk拉起微信客户端);微信公众平台,对应的是公众号,包括订阅号、服务号、企业号,面向运营人员和开发人员,运营可以直接登录公众号管理后台查看公众号的各种指标,开发则是通过调用微信提供的各种接口来增强公众号的功能;微信商户平台,用户通过微信支付的钱,最终到达商户账号。无论是开…

    2022年9月30日
  • git clone 指定分支 拉代码

    git clone 指定分支 拉代码gitclone指定分支拉代码

    2022年5月29日
  • 微信小程序之事件(bindtap和catchtap)[通俗易懂]

    微信小程序之事件(bindtap和catchtap)[通俗易懂]微信小程序之事件(bindtap和catchtap)微信小程序的事件请参考:https://mp.weixin.qq.com/debug/wxadoc/dev/framework/view/wxml/event.html。在这里不必啰嗦。我们都知道bindtap和catchtap都是当用户点击该组件的时候会在该页面对应的Page中找到相应的事件处理函数。但是bind事件绑定不会阻止冒泡事件

    2022年4月20日
  • 5分钟学会双拼 双拼输入法 最简单的双拼入门教学 图文教程

    5分钟学会双拼 双拼输入法 最简单的双拼入门教学 图文教程第一层第二层第三层第四层第五层

    2022年6月26日
  • CPU型号后缀含义

    CPU型号后缀含义CPU后缀是制Y:超低电压移动版2113(平板电脑、混合本)的5261CPU;CPU后缀4102是U:低电压版移动处理1653器。intelCPU后缀的意思如下:“K”代表该处理器是不锁倍频桌面级CPU;“S”代表该处理器是功耗降至65W的低功耗版桌面级CPU;“T”代表该处理器是功耗降至45W的节能版桌面级CPU;“M”代表该处理器是功耗低于35W的双核移动CPU;“QM”代表该处理器是功耗为45W的四核移动CPU;“XM”代表该处理器是至尊版移动处理器;“U”代表该处理器是低电压版

    2022年5月20日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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