Datax使用说明
一、dataX概览
1.1 DataX
DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL、SQL Server、Oracle、PostgreSQL、HDFS、Hive、HBase、OTS、ODPS 等各种异构数据源之间高效的数据同步功能。
经过测试,对43万条事项数据,datax交换用时1分钟,原kettle用时7分40秒,快了7倍多,可针对有特殊要求的项目客户短期内强制要求采用此种方案解决问题。
1.2 Features
DataX本身作为数据同步框架,将不同数据源的同步抽象为从源头数据源读取数据的Reader插件,以及向目标端写入数据的Writer插件,理论上DataX框架可以支持任意数据源类型的数据同步工作。同时DataX插件体系作为一套生态系统, 每接入一套新数据源该新加入的数据源即可实现和现有的数据源互通。
1.3 System Requirements
Windows
JDK(1.8以上,推荐1.8)
Python(推荐Python2.6.X)
其中python的windins版本安装可以
以下为在 Window 平台上安装 Python 的简单步骤:
打开 WEB 浏览器访问https://www.python.org/downloads/windows/
在下载列表中选择Window平台安装包,包格式为:python-XYZ.msi 文件 , XYZ 为你要安装的版本号。
要使用安装程序 python-XYZ.msi, Windows 系统必须支持 Microsoft Installer 2.0 搭配使用。只要保存安装文件到本地计算机,然后运行它,看看你的机器支持 MSI。Windows XP 和更高版本已经有 MSI,很多老机器也可以安装 MSI。
下载后,双击下载包,进入 Python 安装向导,安装非常简单,你只需要使用默认的设置一直点击"下一步"直到安装完成即可。
然后类似jdk一样,配置环境变量,doc下面执行python查看
1.4 工具部署
与目前公司交换使用较多的kettle,我们推荐使用windows操作系统
步骤一、直接下载DataX工具包:DataX下载地址 https://github.com/alibaba/DataX.git
下载后解压至本地某个目录:
步骤二、进入Job目录,可以存放数据交换配置的json文件,例如mysql >mysql
配置参考mysql2mysql.json文件:
{
"job": {
"content": [
{
"reader": {
"name": "mysqlreader",
"parameter": {
"column": ["*"],
"connection": [
{
"jdbcUrl": ["jdbc:mysql://172.168.251.43:3306/zfsoft_gov_sxservice_std_v3_0_xn"],
"table": ["t_sx_service"]
}
],
"password": "*****",
"username": "root",
}
},
"writer": {
"name": "mysqlwriter",
"parameter": {
"column": ["*"],
"connection": [
{
"jdbcUrl": "jdbc:mysql://127.0.0.1:3306/back",
"table": ["t_sx_service"]
}
],
"password": "*****",
"username": "root",
}
}
}
],
"setting": {
"speed": {
"channel": 1
}
}
}
}
步骤三、通过bin目录下datax.py来启动配置交换,如cmd 命令下进入datax目录,通过bin\datax.py job\mysql2mysql.json 来执行
同步结束,显示日志如下:
...
2015-12-17 11:20:25.263 [job-0] INFO JobContainer -
任务启动时刻 : 2020-5-26 11:20:15
任务结束时刻 : 2020-5-26 11:20:25
任务总计耗时 : 10s
任务平均流量 : 205B/s
记录写入速度 : 5rec/s
读出记录总数 : 50
读写失败总数 : 0
这是一个简单的应用,大家可以通过datax github地址进行学习:https://github.com/alibaba/DataX 进行相关的学习