DataX的安装使用

DataX概述:

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

安装部署:

环境准备:

System Requirements:

Linux/本地也可

JDK(1.6以上,推荐1.6)

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

Apache Maven 3.x (Compile DataX)

1:下载安装包并解压。

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

2:创建json文件,最好建在bin目录下。(mysql-mysql为例)
java 复制代码
{
    "job": {
        "content": [
            {
                "reader": {
                    "name": "mysqlreader", 
                    "parameter": {
                        "column": [
						"StudentNo",
                        "LoginPwd",
                        "StudentName",
                        "Sex",
                        "GradeId",
                        "Phone",
                        "Address",
                        "BornDate",
                        "Email" //读取的列(示例,依据自己需求更改)
						], 
                        "connection": [
                            {
                                "jdbcUrl": ["jdbc:mysql://ip:端口/数据库?characterEncoding=utf8"], 
                                "table": ["表名(读取的)"]
                            }
                        ], 
                        "password": "密码", 
                        "username": "账号"
                    }
                }, 
                "writer": {
                    "name": "mysqlwriter", 
                    "parameter": {
                        "column": [
                        "StudentNo",
                        "LoginPwd",
                        "StudentName",
                        "Sex",
                        "GradeId",
                        "Phone",
                        "Address",
                        "BornDate",
                        "Email" //写入的列(示例,依据自己需求更改)
						], 
                        "connection": [
                            {
                                "jdbcUrl": "jdbc:mysql://ip:端口/数据库?characterEncoding=utf8", 
                                "table": ["表名(写入的)"]
                            }
                        ], 
                        "password": "密码", 
                        "username": "账号"
                    }
                }
            }
        ], 
        "setting": {
            "speed": {
                "channel": "1"
            }
        }
    }
}
3:打开终端,进入解压的datax的bin目录,执行命令。
java 复制代码
python datax.py E:\datax\datax.tar\datax\bin\mysqlTomysql.json //自己的json文件目录(在bin目录下运行此命令)
4:查看结果(写入成功,共8条记录)
相关推荐
纳于大麓15 分钟前
Android Maven私服搭建(Windows)
java·maven
jc062044 分钟前
4.3-中间件之Kafka
分布式·中间件·kafka
哈基米喜欢哈哈哈1 小时前
低版本的JVM遇到高版本的class字节码是否会报错
java·jvm
235161 小时前
【并发编程】详解volatile
java·开发语言·jvm·分布式·后端·并发编程·原理
洛小豆2 小时前
java 中 char 类型变量能不能储存一个中文的汉字,为什么?
java·后端·面试
爱吃烤鸡翅的酸菜鱼2 小时前
从数据库直连到缓存预热:城市列表查询的性能优化全流程
java·数据库·后端·spring·个人开发
一只学java的小汉堡2 小时前
Java 面试高频题:HashMap 与 ConcurrentHashMap 深度解析(含 JDK1.8 优化与线程安全原理)
java·开发语言·面试
huohaiyu3 小时前
Hashtable,HashMap,ConcurrentHashMap之间的区别
java·开发语言·多线程·哈希
信奥卷王4 小时前
[GESP202503 五级] 原根判断
java·数据结构·算法
小咕聊编程4 小时前
【含文档+源码】基于SpringBoot的过滤协同算法之网上服装商城设计与实现
java·spring boot·后端