安裝
下載地址 https://github.com/alibaba/DataX/blob/master/userGuid.md
直接解壓就行
dataX需要python2.x
我之前已經安裝了anaconda3,自帶的是python3.7的版本,這邊就需要切換
conda create --name python27 python=2.7
創建一個名為python27的環境,指定python版本為python2.7,它會自動下載
安裝完后,通過 conda info -e 命令,可以看到當前所有安裝的Python環境
之后就可以通過 conda activate python27 切換了
返回之前的環境 conda deactivate
dataX解壓后就可以在cmd中測試
這里的 G:\datax\datax\datax 是我datax的安裝路徑
輸出
亂碼輸入
CHCP 65001
數據同步
修改job.json(位於安裝目錄下job/job.json,或者修改 python bin/datax.py job/job.json 的后一個路徑為json路徑)
1 { 2 "job": { 3 "content": [ 4 { 5 "reader": { 6 "name": "txtfilereader", 7 "parameter": { 8 "path": ["C:/Users/syyzl/Desktop/words.csv"], 9 "encoding":"utf-8", 10 "column": [ 11 { 12 "index": 0, 13 "type": "string" 14 }, 15 { 16 "index": 1, 17 "type": "string" 18 }, 19 { 20 "index": 2, 21 "type": "string" 22 }, 23 { 24 "index": 3, 25 "type": "string" 26 } 27 ], 28 "fieldDelimiter": "," 29 } 30 }, 31 "writer": { 32 "name": "mysqlwriter", 33 "parameter": { 34 "column": [ 35 "Id", 36 "word", 37 "jieshi", 38 "link" 39 ], 40 "connection": [ 41 { 42 "jdbcUrl": "jdbc:mysql://localhost:3306/hotword?useUnicode=true&characterEncoding=utf8", 43 "table": ["info"] 44 } 45 ], 46 "password": "963214785", 47 "username": "root", 48 "preSql":[""], 49 "session":["set session sql_mode='ANSI'"], 50 "writeMode":"insert" 51 } 52 } 53 } 54 ], 55 "setting": { 56 "speed": { 57 "channel": "2" 58 } 59 } 60 } 61 }
查看數據庫,可以看到同步成功
出現的問題
獲取表字段相關信息失敗
去網上查的教程是column的內容不對
原來是我的字段里有一個字段名為explain,把這個改成別的就好了
臟數據
把此處的int改成string即可
參考
dataX的安裝配置 https://blog.csdn.net/yulutian/article/details/80835123
dataX處理csv文件時出現臟數據問題 http://www.mamicode.com/info-detail-2941673.html
Anaconda不同版本python環境的安裝與切換 https://blog.csdn.net/wz947324/article/details/80228679