datax下载地址,链接: https://pan.baidu.com/s/1VoF8kvhMtK1psdKhPJl-Zg 提取码: srmu
下载后直接解压后可用,前提是对应的 java 及 python 环境满足要求。其中对应的JavaJDK版本推荐1.8,Python推荐Python2.6.X
由于我本地 python 为 3.7.0 ,所以把 /datax/bin 目录下的三个py文件修改成了符合 python3 语法要求的文件,执行也没报错,修改后的文件,如需要可下载替换:链接: https://pan.baidu.com/s/1zD2QCp1X7dVQHo0jdpVj8Q 提取码: 3pur
测试
测试配置了一个读取 csv 写入到另一个 csv 的 json
第一步、创建作业的配置文件(json格式)
test.json
{
"setting": {},
"job": {
"setting": {
"speed": {
"channel": 2
}
},
"content": [
{
"reader": {
"name": "txtfilereader",
"parameter": {
"path": ["E:\test.csv"],
"encoding": "UTF-8",
"column": [
{
"index": 0,
"type": "long"
},
{
"index": 1,
"type": "long"
},
{
"index": 2,
"type": "long"
}
],
"fieldDelimiter": ",",
"skipHeader": "False"
}
},
"writer": {
"name": "txtfilewriter",
"parameter": {
"path": "E:\test",
"fileName": "test",
"writeMode": "truncate",
"format": "yyyy-MM-dd",
"header":['id', 'name', 'age']
}
}
}
]
}
}
第二步:启动 DataX
python datax.py D:DataX-json est.json
问题及解决
- Python 版本要为 2,原因前面已经说过了,可手动修改为 3 的语法
- cmd 乱码解决:输入 CHCP 65001
- 数据库中的数据中文乱码解决:在 json 文件中 jdbcUrl 项加上:?characterEncoding=utf8
参考博客:https://blog.csdn.net/weixin_41287692/article/details/83620261