离线数据迁移DataX3初使用

来源:互联网 发布:如何学计算机编程 编辑:程序博客网 时间:2024/05/19 10:35

DataX3使用起来还是很方便的,下面是一些官方的东西
DataX3的GitHub地址https://github.com/alibaba/DataX,里面包含DataX3的介绍,下载链接。
DataX3的使用方法https://github.com/alibaba/DataX/wiki/Quick-Start
各种reader和writer的配置参数https://github.com/alibaba/DataX/wiki/DataX-all-data-channels

基本使用

检查系统Python是否可用,Linux系统一般都自带Python,官方建议使用Python2
这里写图片描述

直接下载DataX,http://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz
下载后解压至本地某个目录,修改权限为755,进入bin目录,即可运行样例同步作业:

$ tar zxvf datax.tar.gz$ sudo chmod -R 755 datax$ cd  datax/bin$ python datax.py ../job/job.json

样例运行结果,可以正常使用
这里写图片描述


然后创建自己的配置文件
DataX目前支持的数据源DataX all data channels

以mysqlreader和mysqlwriter为例,查看配置模板

$ cd  datax/bin$  python datax.py -r mysqlreader -w mysqlwriterDataX (DATAX-OPENSOURCE-3.0), From Alibaba !Copyright (C) 2010-2017, Alibaba Group. All Rights Reserved.Please refer to the mysqlreader document:     https://github.com/alibaba/DataX/blob/master/mysqlreader/doc/mysqlreader.md Please refer to the mysqlwriter document:     https://github.com/alibaba/DataX/blob/master/mysqlwriter/doc/mysqlwriter.md Please save the following configuration as a json file and  use     python {DATAX_HOME}/bin/datax.py {JSON_FILE_NAME}.json to run the job.{    "job": {        "content": [            {                "reader": {                    "name": "mysqlreader",                     "parameter": {                        "column": [],                         "connection": [                            {                                "jdbcUrl": [],                                 "table": []                            }                        ],                         "password": "",                         "username": "",                         "where": ""                    }                },                 "writer": {                    "name": "mysqlwriter",                     "parameter": {                        "column": [],                         "connection": [                            {                                "jdbcUrl": "",                                 "table": []                            }                        ],                         "password": "",                         "preSql": [],                         "session": [],                         "username": "",                         "writeMode": ""                    }                }            }        ],         "setting": {            "speed": {                "channel": ""            }        }    }}

用上面的模板创建自己的json配置文件
命名为mysql2mysql.json,放到job目录下

$ vim datax/job/mysql2mysql.json{    "job": {        "content": [            {                "reader": {                    "name": "mysqlreader",                     "parameter": {                        "column": ["id","name","location","age"],                         "connection": [                            {                                "jdbcUrl": ["jdbc:mysql://192.168.1.130:3306/people?useUnicode=true&characterEncoding=UTF-8"],                                 "table": ["test"]                            }                        ],                         "password": "123456",                         "username": "root",                         "where": "test.id <= 50000"                    }                },                 "writer": {                    "name": "mysqlwriter",                     "parameter": {                        "column": ["id","name","location","age"],                         "connection": [                            {                                "jdbcUrl": "jdbc:mysql://192.168.1.131:3306/people?useUnicode=true&characterEncoding=UTF-8",                                 "table": ["test"]                            }                        ],                         "password": "123456",                         "preSql": [],                         "session": [],                         "username": "root",                         "writeMode": "insert"                    }                }            }        ],         "setting": {            "speed": {                "channel": "100"            }        }    }}

各参数的详细解释可以到数据源DataX all data channels查看,包括其他数据源的也是类似的做法。
然后在datax目录下创建脚本,启动DataX

#!/bin/bashpython ./bin/datax.py ./job/mysql2mysql.json > ./log/mysql2mysql.log &

可在datax/log/mysql2mysql.log处查看运行情况。此处就不粘贴运行结果了。


DataX3使用起来还是很方便的,速度还可以,同网络内,100并发5千万(15G大小)的数据大概80分钟吧

阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 新疆金丝玉手镯价格 西安蓝田玉手镯价格 金丝玉手镯价格 老玉鉴定 金丝玉手镯 乾隆年制玉碗价格 青玉价格 云南产什么玉 翡翠玉手镯价格 汉代玉蝉价格 云南玉 如何看玉的真假 玉蝉价格 怎么辨别和田玉 如何鉴定和田玉 玉珠牌袜子 玉珠牌袜子创始人 玉牌 金钩挂玉牌 玉牌图案大全 龙潭钓玉牌 玉楼人醉弃妃你被翻牌 翡翠玉牌图案大全 羊脂玉玉牌 和田玉籽料无事牌价格 和田玉子岗牌 和田玉无事牌 方形玉牌图案 玉牌价格 玉牌图片 和田玉牌 子冈玉牌 玉牌吊坠 明代玉牌 翡翠玉牌 玉牌观音 民国玉牌 玉牌貔貅 玉牌兰花 十字架玉牌 如意玉牌