阿里开源数据同步工具–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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java Random nextInt()方法与示例[通俗易懂]

    Java Random nextInt()方法与示例[通俗易懂]随机类nextInt()方法(RandomClassnextInt()method)Syntax:句法:publicintnextInt();publicintnextInt(intnum);nextInt()methodisavailableinjava.utilpackage.nextInt()方法在java.util包中可…

    2022年7月22日
    11
  • plsql 连接oracle数据库详细配置「建议收藏」

    plsql 连接oracle数据库详细配置「建议收藏」第一次用这种方式连接oracle数据库,自己百度搞了快两个小时才弄好,百度的资源也不靠谱,看了好多都不完整,搞完了报各种错误,各种连不上数据库,自己整理下资料,希望给其他的同行予以借鉴,不能保证每个人都能操作成功!毕竟有时真的得看人品了,呵呵!第一步:先安装plsql客户端,plsql客户端是必须的,我的是同事给的plsql(英文版客户端)安装很简单(下一步下一步…….)就不做说明!

    2022年9月17日
    5
  • translate函数用法_fork函数在循环体中

    translate函数用法_fork函数在循环体中TranslateMessage函数函数功能描述:将虚拟键消息转换为字符消息。字符消息被送到调用线程的消息队列中,在下一次线程调用函数GetMessage或PeekMessage时被读出。.函数原型:   BOOLTranslateMessage( CONSTMSG*lpMsg);.参数:   lpMsg       指向一个含有用GetMessage或PeekMe

    2025年11月5日
    4
  • windows定时关机命令 取消定时关机命令 查看DNS缓存命令 清除DNS缓存命令「建议收藏」

    windows定时关机命令 取消定时关机命令 查看DNS缓存命令 清除DNS缓存命令「建议收藏」shutdown-s-t以秒为单位的时间值注意这里的时间是以秒为单位哦例如:shutdown-s-t3600这是一个钟之后自动关机如果要取消自动关机,则输入:shutdown-a即可。另外再记个我觉得的常用命令吧ipconfig/displaydns这个显示是电脑上的dns缓存的全部信息ipconfig/flushdns这个是清除dns缓存的命令。…

    2022年5月14日
    61
  • acwing-190. 字串变换(双向bfs)

    acwing-190. 字串变换(双向bfs)已知有两个字串 A, B 及一组字串变换的规则(至多 6 个规则):A1→B1A2→B2…规则的含义为:在 A 中的子串 A1 可以变换为 B1、A2 可以变换为 B2…。例如:A=abcd B=xyz变换规则为:abc → xu ud → y y → yz则此时,A 可以经过一系列的变换变为 B,其变换的过程为:abcd → xud → xy → xyz共进行了三次变换,使得 A 变换为 B。输入格式输入格式如下:A BA1 B1A2 B2… …第一行是两个给定的字符串

    2022年8月9日
    4
  • 台式机dp接口在哪(主机没有dp接口怎么办)

    导读:成就3471和战99,均为品牌成套机,价格4千元左右,是否值得入手?请往下看:戴尔(DELL)成就3471:1、硬件点评下:主板:小型机箱,主板接口很丰富,M2.0的Pic-E接口,sata接口也有预留,内存槽也可以加内存,PIC16槽也可以扩充显卡,但机箱过小,需要额外注意;DDR4接口,海力士8G2666HMZ内存办公够用;电源:没挖到官方数据,但考虑显卡不好扩容,我们基本上可以忽略…

    2022年4月13日
    643

发表回复

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

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