• 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:dataxindatax.py D:dataxjobjob.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:dataxindatax.py E:dataxMysql2Oracle.json
  • 相关阅读:
    使用 rabbitmq 的场景?
    什么是 Spring Cloud Bus?我们需要它吗?
    使用 Spring Cloud 有什么优势?
    我们如何监视所有 Spring Boot 微服务?
    什么是 YAML?
    如何集成 Spring Boot 和 ActiveMQ?
    什么是 JavaConfig?
    数据字典属于哪一个用户的?
    怎么对命令进行取别名?
    使用什么命令查看网络是否连通?
  • 原文地址:https://www.cnblogs.com/qingyunzong/p/9759993.html
Copyright © 2020-2023  润新知