安装

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

posted on 2020-03-04 12:40  墨钺  阅读(2792)  评论(0编辑  收藏  举报