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'] } } } ] } }View Code
第二步:启动 DataX
python datax.py D:\DataX-json\test.json
问题及解决
- Python 版本要为 2,原因前面已经说过了,可手动修改为 3 的语法
- cmd 乱码解决:输入 CHCP 65001
- 数据库中的数据中文乱码解决:在 json 文件中 jdbcUrl 项加上:?characterEncoding=utf8
参考博客:https://blog.csdn.net/weixin_41287692/article/details/83620261