dataX大數據同步


安裝

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM