DataX使用指南

DataX使用指南简介DataX是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括MySQL、Oracle、HDFS、Hive、OceanBase、HBase、OTS、ODPS等各种异构数据源之间高效的数据同步功能。DataX采用了框架+插件的模式,目前已开源,代码托管在github。DataX安装部署及小试1.下载压缩包:下载页面地址:https://github.com/a…

大家好,又见面了,我是你们的朋友全栈君。

简介

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环境满足要求。
  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)

3.测试

配置测试样例:下面我们配置一组 从mysql数据库到另一个mysql数据库。  

第一步、创建作业的配置文件(json格式)

可以通过命令查看配置模板:  

python datax.py -r {YOUR_READER} -w {YOUR_WRITER} DataX使用指南当然也可以从https://github.com/alibaba/DataX自行配置。 DataX使用指南

第二步、根据配置文件模板填写相关选项

根据模板配置json文件(mysql2mysql.json)如下:

{
    "job": {
        "content": [
            {
                "reader": {
                    "name": "mysqlreader", 
                    "parameter": {
                        "column": [
							"id",
                            "name"
						], 
                        "connection": [
                            {
                                "jdbcUrl": ["jdbc:mysql://127.0.0.1:3306/dq"], 
                                "table": ["table1"]
                            }
                        ], 
                        "password": "123456", 
                        "username": "root"
                    }
                }, 
                "writer": {
                    "name": "mysqlwriter", 
                    "parameter": {
                        "column": [
                        "id",
                        "name"
						], 
                        "connection": [
                            {
                                "jdbcUrl": "jdbc:mysql://ip地址:端口/test", 
                                "table": ["table2"]
                            }
                        ], 
                        "password": "123456", 
                        "username": "root"
                    }
                }
            }
        ], 
        "setting": {
            "speed": {
                "channel": "1"
            }
        }
    }
}

第三步:启动DataX

启动之前数据库

DataX使用指南

DataX使用指南

启动

python datax.pyD:\Software\install\Environment\DataX\datax\job\mysql2mysql.json DataX使用指南DataX使用指南

启动之后数据库

DataX使用指南

 

出现的问题:

  • Python版本要为2,原因前面已经说过了
  • cmd乱码解决:输入CHCP 65001
  • 数据库中的数据中文乱码解决:在json文件中jdbcUrl项加上:?characterEncoding=utf8

“jdbcUrl”: [“jdbc:mysql://127.0.0.1:3306/dq?characterEncoding=utf8”]

Java通过python命令执行DataX任务

上代码:

public class TestDatax {
    public static void main(String[] args) {
        try {
            WebLogs.info("start");
            
            String windowcmd = "cmd /c python datax.py D:\\Software\\install\\Environment\\DataX\\datax\\job\\mysql2mysql.json";
            WebLogs.info(windowcmd);
            //.exec("你的命令",null,new File("datax安装路径"));
            Process pr = Runtime.getRuntime().exec(windowcmd,null,new File("D:\\Software\\install\\Environment\\DataX\\datax\\bin"));
            BufferedReader in = new BufferedReader(new InputStreamReader(pr.getInputStream()));
            String line = null;
            while ((line = in.readLine()) != null) {
                WebLogs.info(line);
            }
            in.close();
            pr.waitFor();
            WebLogs.info("end");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

DataX使用指南回首往昔,更进一步。

DataX使用指南喜欢就点个赞关注一下呗 ~~

 

一个从装环境开始的学习记录公众号,欢迎大家关注:

DataX使用指南

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/145629.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • oracle11g下载地址_如何安装oracle10g数据库

    oracle11g下载地址_如何安装oracle10g数据库OracleDatabase10gRelease2(10.2.0.1.0)Enterprise/StandardEditionforMicrosoftWindows(32-bit)http://download.oracle.com/otn/nt/oracle10g/10201/10201_database_win32.ziphttp://download.ora

    2022年8月30日
    0
  • HARQ发展_harq技术

    HARQ发展_harq技术自动重发请求含义,以及混合自动重发请求(包括Type-I,和CC-HARQ,IR-HARQ)的编译码方式。包括在传统HARQ的基础上衍生出来的时分复用,码分复用,功率域复用的HARQ

    2022年10月28日
    0
  • ASP.Net中menu控件使用「建议收藏」

    ASP.Net中menu控件使用「建议收藏」为了使用方便asp.net中提供了两类控件html控件与用户控件。这里不在详细介绍。menu属于用户控件。menu最重要的是item属性,item包含了menu控件要显示的类表,几级菜单神马的,点击item属性后面出现一个对话框,也可以点menu控件的箭头如下图:点击编辑菜单项也会弹出对话框,根据自己爱好可以进行设定,下面是我自己设定的:当然旁边对应的是每个条目对应的属

    2022年7月27日
    16
  • Linux Sendfile 的原理与优点[通俗易懂]

    Linux Sendfile 的原理与优点[通俗易懂]sendfile函数在两个文件描写叙述符之间直接传递数据(全然在内核中操作,传送),从而避免了内核缓冲区数据和用户缓冲区数据之间的拷贝,操作效率非常高,被称之为零拷贝。sendfile函数的定义例如以下:#include<sys/sendfile.h>ssize_tsendfile(intout_fd,intin_fd,off_t*offset,size_tc…

    2022年5月6日
    66
  • 数据库与spring事务隔离级别不一致_spring事务传播行为

    数据库与spring事务隔离级别不一致_spring事务传播行为脏读:一个事务读取到另一个事务未提交的数据,出现脏读的本质是是因为操作(修改)完数据就立马释放掉锁,导致其他事务可以读取数据,而读取的数据是无用的或者错误的。不可重复读:一个事务读取到另外一个事务已经提交的数据,即一个事务可以看到其他事务所做的修改。幻读(虚读):一个事务内读取到了别的事务插入的数据,导致前后读取不一致。查看当前会话隔离级别:select@@tx_isolation;查看…

    2022年10月21日
    0
  • python正则表达式匹配 模式匹配[通俗易懂]

    python正则表达式匹配 模式匹配[通俗易懂]Python正则式的基本用法初学Python,对Python的文字处理能力有很深的印象,除了str对象自带的一些方法外,就是正则表达式这个强大的模块了。但是对于初学者来说,要用好这个功能还是有点难度

    2022年7月1日
    25

发表回复

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

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