阿里开源数据同步工具–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视频上传与播放功能

    java视频上传与播放功能参考:https://wenku.baidu.com/view/63fb1da364ce0508763231126edb6f1aff0071c7.html此次上传播放功能采用eclipse+ssm+maven+spring2.5+tomcat8+jdk8这个功能是有一定缺陷的,CKplayer播放视频需要H264MP4格式的,所以需要格式转化,网盘上都有。需要源码的百度网盘地址:…

    2022年7月7日
    22
  • TinyProxy:移动联通电信各个卡定向免流方法教程[通俗易懂]

    下载地址:https://www.lanzoui.com/i0Tsigfiv7c开始以电信星卡为例:打开软件右上角设置下高级模式然后返回复制下这模式【百度直连】免歪卡、星卡、小歪卡、小抖卡、大圣卡、百度系可免listen_port=65080; daemon=on; worker_proc=0; uid=3004; http_ip=112.80.255.21; http_port=443; http_del=”X-Online-Host,Host”..

    2022年4月15日
    391
  • 怎么理解JS Promise

    怎么理解JS Promise      由于昨天发了一篇关于setTimeout的文章,里面提到了Promise,那篇文章里没有解释Promise的用法和含义,因为昨天的我还没太懂Promise,所以没有在那篇文章继续解释Promise,然后今天的我总算是对Promise有所理解了,然后我来谈谈我学到的Promise的知识,因为是个人的理解,所以会不全面,请多包涵。一、何为Promise在MDNwebdo…

    2022年6月11日
    34
  • QListWidget用法

    QListWidget用法一、参考https://blog.csdn.net/qq_37233607/article/details/78145118QListWidget类重要的函数:1.voidaddItem(constQWidgetItem*);//加入一个项.需要自己先创建一个项的对象.示例如下:QListWidgetItem*ite=newQListWidgetItem;ite->setText(QString::fromLocal8Bit(“杭州”));ui.listWidge

    2022年6月6日
    94
  • 个人博客网站与工具软件

    个人博客网站与工具软件文章目录个人博客网站张兵个人博客杨雨的个人博客李洋个人博客廖雪峰的官方网站工具类网站工具:Xmind/ProcessOnAscilflow【在线画图】VisualStudioCode印象笔记TyporaMd2All【markdown排版工具】DouTu【表情包在线制作】学习网站极客学院个人博客网站张兵个人博客链接地址张兵一个人的博客;杨雨的个人博客链接地址:杨雨个人博客站;李洋个人博客链接地址:李洋博客;廖雪峰的官方网站链接地址:廖雪峰官博;工具类网站工具:Xmind/Proce

    2022年7月21日
    13
  • python进阶(15)多线程与多进程效率测试「建议收藏」

    python进阶(15)多线程与多进程效率测试「建议收藏」前言在Python中,计算密集型任务适用于多进程,IO密集型任务适用于多线程正常来讲,多线程要比多进程效率更高,因为进程间的切换需要的资源和开销更大,而线程相对更小,但是我们使用的Python大多

    2022年7月31日
    3

发表回复

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

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