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\test.json
問題及解決
- Python 版本要為 2,原因前面已經說過了,可手動修改為 3 的語法
- cmd 亂碼解決:輸入 CHCP 65001
- 數據庫中的數據中文亂碼解決:在 json 文件中 jdbcUrl 項加上:?characterEncoding=utf8
參考博客:https://blog.csdn.net/weixin_41287692/article/details/83620261