第二周--初次使用datax(mysql中两表的数据迁移)

在cmd里进行操作:

CHCP 65001(解决乱码)最好输入,不然提示消息看不懂

 

1.两个表数据:(将person中的名字和年龄数据迁移到person2中)

 

 

 

 2.查看mysql的读写的json格式(复制下来,在datax的job文件中新建一个json文件)

python datax.py -r mysqlreader -w mysqlwriter

 

 

 

 3.修改标准模板

{
    "job": {
        "content": [
            {
                "reader": {
                    "name": "mysqlreader",
                    "parameter": {
                        "column": ["name","age"],
                        "connection": [
                            {
                              "jdbcUrl": [ "jdbc:mysql://127.0.0.1:3306/datax" ],
                                "table": ["person"]
                            }
                        ],
                        "password": "mm123456",
                        "username": "root",
                        "where": ""
                    }
                },
                "writer": {
                    "name": "mysqlwriter",
                    "parameter": {
                        "column": ["name","age"],
                        "connection": [
                          {
                            "jdbcUrl": "jdbc:mysql://127.0.0.1:3306/datax",
                            "table": ["person2"]
                          }
                        ],
                        "password": "mm123456",
                        "preSql": [],
                        "session": [],
                        "username": "root",
                        "writeMode": "insert"
                    }
                }
            }
        ],
        "setting": {
            "speed": {
                "channel": "1"
            }
        }
    }
}

4.在回到cmd里运行json文件

 

 

python2 datax.py F:\大学学习软件\文件压缩包\datax\job\mysqltest.json

 

 

5.附上java运行的代码

package datax_test;

import java.io.BufferedReader;
import java.io.File;
import java.io.InputStreamReader;

public class Dataxdemo1 {
    public static void main(String[] args) {
        try {
            
            
            String windowcmd = "cmd /c python2 datax.py F:\\大学学习软件\\文件压缩包\\datax\\job\\mysqltest.json";
            
            //.exec("你的命令",null,new File("datax安装路径"));
            Process pr = Runtime.getRuntime().exec(windowcmd,null,new File("F:\\大学学习软件\\文件压缩包\\datax\\bin"));
            BufferedReader in = new BufferedReader(new InputStreamReader(pr.getInputStream()));
            String line = null;
            while ((line = in.readLine()) != null) {
                
            }
            in.close();
            pr.waitFor();
            System.out.println("运行结束!!");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

 

posted @ 2020-03-01 16:25  birdmmxx  阅读(1454)  评论(0编辑  收藏  举报