第1章 概述
1.3 支持的数据源
第2章 快速入门
2.1 官方地址
下载地址:http://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz
源码地址:https://github.com/alibaba/DataX
运行demo
python datax.py /opt/module/datax/job/job.json
job结构:
{
作业设置
reader
writer
参数:速率、错误率
}
第3章 使用案例
3.1 从 stream 流读取数据并打印到控制台
1、查看配置模板
python datax.py -r streamreader -w streamwriter
2)根据模板编写配置文件
cd /usr/local/datax/datax/job
vim stream2stream.json
执行
3.2 读取 postgresql中的数据存放到 mysql
3.2.1 查看官方模板
问题总结:
1、由于我自己使用的是虚拟机,mysql是在windows本机,配置的mysql连接ip不能是lcoalhost或者127.0.0.1,要是本机的ip地址(192.168.x.x)
2、java.sql.SQLException: null, message from server: “Host ‘192.xxx.xxx.xxx’ is not allowed to connect to this MySQL server”
我们要对远程服务器进行设置,使它允许你进行连接
在mysql的bin目录下打开命令行,登录数据库mysql -u root -p
输入use mysql;
再输入select host,user from user;
再输入update user set host =‘%’ where user =‘root’;
最后重新启动MySQL服务
配置文件 postgresql2mysql.json 为
{
"job": {
"content": [
{
"reader": {
"name": "postgresqlreader",
"parameter": {
"connection": [
{
"jdbcUrl": [
"jdbc:postgresql://ip地址:5432/postgres?useSSL=false"
],
"table": [
"test"
]
}
],
"password": "xxxx",
"username": "xxxx",
"column": [
"id",
"name"
]
}
},
"writer": {
"name": "mysqlwriter",
"parameter": {
"column": [
"id",
"name"
],
"connection": [
{
"jdbcUrl": "jdbc:mysql://192.168.124.1:3306/datax?useUnicode=true&characterEncoding=gbk&useSSL=false",
"table": [
"test"
]
}
],
"password": "xxxx",
"preSql": [
"delete from test"
],
"session": [],
"username": "xxxx",
"writeMode": "insert"
}
}
}
],
"setting": {
"speed": {
"channel": "5"
}
}
}
}
执行
python bin/datax.py job/postgresql2mysql.json