datax安装使用笔记

环境准备

安装Java和Python
下载安装maven:
wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz
解压安装:
tar -zxvf apache-maven-3.3.9-bin.tar.gz
配置环境变量
使用vim编辑/etc/profile文件
命令:vim /etc/profile(提示:vim使用方法)
在/etc/profile文件末尾增加以下配置:
M2_HOME=/opt/tyrone/maven (注意这里是maven的安装路径)
export PATH=${M2_HOME}/bin:${PATH}

重载/etc/profile这个文件
source /etc/profile
检验maven是否安装成功
mvn -v

安装datax

下载地址:https://github.com/alibaba/DataX/blob/master/userGuid.md
上传安装包:使用xshell的sftp文件传输进行文件传输
解压:tar -zxvf datax.tar.gz -C /opt/datax/
自检:进入bin目录,开始自检:python datax.py …/job/job.json
查看日志,输出日志没有报错即是安装成功

配置job

{
  "job": {
    "content": [
	  {
        "reader": {
          "name": "rdbmsreader",
          "parameter": {
            "username": "root",
            "password": "123456",
			"column": [
				"column1",
				"column2",
				"column3"
			],
            "connection": [
              {
                "jdbcUrl": [
                  "jdbc:db2://xx.xx.xx.xxx:50000/databaseName"
                ],
				"table": ["DB2ADMIN.tablename"]
              }
            ],
			"where": "1=1"
          }
        },
        "writer": {
          "name": "mysqlwriter",
          "parameter": {
            "username": "username",
            "password": "password",
			"writeMode": "insert",
            "connection": [
              {
                "jdbcUrl": "jdbc:mysql://xx.xx.xx.xx:32368/databasename",
                "table": [
                  "jl003079.tablename"
                ]
              }
            ],
            "column": [
				"column1",
				"column2",
				"column3"
            ]
          }
        }
      }
    ],
    "setting": { 
		"speed": {
                "byte":10485760
            },
            "errorLimit": {
                "record": 0,
                "percentage": 0.02
            }
	}
  }
}

reader:用于抽取数据的配置
writer:用于插入数据的配置
name:取决于配置的数据库,如上例db2的reader对应的值就是rdbmsreader,mysql的writer对应的就是mysqlwriter
username:数据库用户名
password:数据库密码
writeMode:写入形式,insert是插入,如果有主键冲突则放弃插入并报错
update模式,如果有主键冲突,则覆盖已有数据
jdbcUrl:数据库连接串
table:目标表
column:查询和插入的字段
setting:可以配置上传速度和容忍报错数目(即超过多少条就退出)

同步配置写在.json文件中,一般将配置文件放在datax目录下的job文件夹中

datax的使用

进入datax的bin目录中,使用命令python datax.py …/job/xxx.json,等待同步完成

关于定时任务

datax自身不支持定时任务,需要使用Linux的crontab配合完成,
使用命令crontab -e打开crontab定时任务编辑器,可输入如下指令来完成定时任务配置:

30 8 * * * python  datax.py  ../job/xxx.json

意思是每天8点30分,执行数据抽取

* * * * *从左至右分别代表:分 时 天 月 星期几
举例:每五分钟执行一次,*/5 * * * *
每月5号执行一次,* * 5 * *
每个星期一执行一次,* * * * 1 

编辑完成后,按Esc键,:wq 保存退出即可生效

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值