安装
下载地址 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