zoukankan      html  css  js  c++  java
  • 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:dataxdataxdatax  是我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

  • 相关阅读:
    自动化无线网破解工具wifite2
    用Python实现Excel的读写
    Python常见问题系列
    集群搭建
    redis进阶
    android中实现简单的聊天功能
    android中使用setOnKeyListener响应输入事件
    android中使用spinner组件,以key,value的方式
    android中使用spinner组件
    android中使用Nine-Patch图片
  • 原文地址:https://www.cnblogs.com/gothic-death/p/12408602.html
Copyright © 2011-2022 走看看