DataX的使用

简介

DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL、Oracle、HDFS、Hive、OceanBase、HBase、OTS、ODPS 等各种异构数据源之间高效的数据同步功能。DataX采用了框架 + 插件 的模式,目前已开源,代码托管在github。

DataX安装部署及小试

1.下载压缩包

下载页面地址:https://github.com/alibaba/DataX 

在页面中【Quick Start】--->【Download DataX下载地址】进行下载。下载后的包名:datax.tar.gz。

解压后{datax}目录下有{bin conf job lib log log_perf plugin script tmp}几个目录。

2.安装

将下载后的压缩包直接解压后可用,前提是对应的java及python环境满足要求。

  • JDK(1.6以上,推荐1.6)
  • Python(推荐Python2.7.X)一定要为python2,因为后面执行datax.py的时候,里面的python的print会执行不了,导致运行不成功,会提示你print语法要加括号,python2中加不加都行 python3中必须要加,否则报语法错
  • Apache Maven 3.x (Compile DataX)

3.测试

进入datax目录下的bin中,里面有datax.py文件,可以在cmd中测试:

python D:\datax\bin\datax.py D:\datax\job\job.json

使用即执行一个python脚本,传入json配置文件 
配置文件,可以查看模版样例,模版结果显示: 

 

如果乱码,可以在cmd中输入:

CHCP 65001

使用DataX将mysql数据导入到oracle中

1.配置json

{
    "job": {
        "content": [
            {
                "reader": {
                    "name": "mysqlreader",
                    "parameter": {
                        "username": "****",
                        "password": "****",
                        "column": ["rank","payment"],
                        "connection": [
                            {
                                "table": [
                                    "salary"
                                ],
                                "jdbcUrl": [
                                    "jdbc:mysql://127.0.0.1:3306/test"
                                ]
                            }
                        ]
                    }
                },
                "writer": {
                    "name": "oraclewriter",
                    "parameter": {
                        "username": "****",
                        "password": "****",
                        "column": [
                            "rank",
                            "payment"
                        ],
                        "preSql": [
                            "delete from oracle_test"
                        ],
                        "connection": [
                            {
                                "jdbcUrl": "jdbc:oracle:thin:@127.0.0.1:1521:test",
                                "table": [
                                    "oracle_test"
                                ]
                            }
                        ]
                    }
                }
            }
        ],
        "setting": {
            "speed": {
                "channel": 1
            }
        }
    }
}
View Code

2.cmd执行

python d:\datax\bin\datax.py E:\datax\Mysql2Oracle.json

 

posted @ 2018-10-09 14:08  扎心了,老铁  阅读(26566)  评论(6编辑  收藏  举报