最近老师布置任务学习使用DataX大数据同步技术,总结一些遇到的问题
安装:
下载页面地址:https://github.com/alibaba/DataX
在页面中【Quick Start】--->【Download DataX下载地址】进行下载。下载后的包名:datax.tar.gz。
解压后{datax}目录下有{bin conf job lib log log_perf plugin script tmp}几个目录。
测试
打开cmd,输入
python D:\datax\bin\datax.py D:\datax\job\job.json
测试压缩包内自带.py代码,代码位置:bin\jon.json

乱码可输入:CHCP 65001 之后再运行实例
python 3以上版本需修改bin目录中.py文件
应用
csv文件写入mysql
创建作业的配置文件(json格式)
可以通过命令查看配置模板:
python datax.py -r {YOUR_READER} -w {YOUR_WRITER}
例如:python D:\datax\bin\datax.py -r txtfilereader -w mysqlwriter

将模板放到新建的json中,补充相应信息
{
"job": {
"setting": {
"speed": {
"channel": 3
}
},
"content": [
{
"reader": {
"name": "txtfilereader",
"parameter": {
"path":["D:\\123.csv"],
"encode":"utf-8",
"column" : [
{
"index":0,
"type":"string"
},{
"index":1,
"type":"string"
}
],
"fieldDelimiter":","
}
},
"writer": {
"name": "mysqlwriter",
"parameter": {
"writeMode": "insert",
"username": "root",
"password": "1234",
"column": [
"first",
"second"
],
"preSql": [
"truncate table dataxtest"
],
"connection": [
{
"jdbcUrl": "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC",
"table": [
"dataxtest"
]
}
]
}
}
}
]
}
}
将连接数据库所需jar包放入lib文件夹中
运行python D:\datax\bin\datax.py D:\datax\job\write.json

数据写入完成
遇到时区错误,在url中加入 serverTimezone=UTC 中文乱码 ?useUnicode=true&characterEncoding=utf8
修改后还存在中文乱码时,修改读入文件格式为"encode":"utf-8",所设置格式
来源:https://www.cnblogs.com/lixv2018/p/12410912.html