zoukankan      html  css  js  c++  java
  • DateX安装及应用

    最近老师布置任务学习使用DataX大数据同步技术,总结一些遇到的问题

    安装:

    下载页面地址:https://github.com/alibaba/DataX 

    在页面中【Quick Start】--->【Download DataX下载地址】进行下载。下载后的包名:datax.tar.gz。

    解压后{datax}目录下有{bin conf job lib log log_perf plugin script tmp}几个目录。

    测试

      打开cmd,输入

      python D:dataxindatax.py D:dataxjobjob.json

      测试压缩包内自带.py代码,代码位置:binjon.json

      

      乱码可输入:CHCP 65001 之后再运行实例

      python 3以上版本需修改bin目录中.py文件

    应用

      csv文件写入mysql

      创建作业的配置文件(json格式)
      可以通过命令查看配置模板:

      python datax.py -r {YOUR_READER} -w {YOUR_WRITER}

      例如:python D:dataxindatax.py -r txtfilereader -w mysqlwriter

      

      将模板放到新建的json中,补充相应信息

    {
        "job": {
            "setting": {
                "speed": {
                    "channel": 3
                }
            },
            "content": [
                {
                     "reader": {
                        "name": "txtfilereader",
                        "parameter": {
                            "path":["D:\123.csv"],
                            "encode":"utf-8",
                            "column" : [
                                {
                                    "index":0,
                                    "type":"string"
                                },{
                                            "index":1,
                                    "type":"string"
                                }
                            ],
                            "fieldDelimiter":","
                        }
                    },
                    "writer": {
                        "name": "mysqlwriter",
                        "parameter": {
                            "writeMode": "insert",
                            "username": "root",
                            "password": "1234",
                            "column": [
                                "first",
                                "second"
                            ],
                            "preSql": [
                                "truncate table dataxtest"
                            ],
                            "connection": [
                                {
                                    "jdbcUrl": "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC",
                                    "table": [
                                        "dataxtest"
                                    ]
                                }
                            ]
                        }
                    }
                }
            ]
        }
    }

      将连接数据库所需jar包放入lib文件夹中

      运行python D:dataxindatax.py D:dataxjobwrite.json

      数据写入完成

      遇到时区错误,在url中加入 serverTimezone=UTC  中文乱码 ?useUnicode=true&characterEncoding=utf8

      修改后还存在中文乱码时,修改读入文件格式为"encode":"utf-8",所设置格式

  • 相关阅读:
    一文看懂Python匿名函数
    Python数据分析库之pandas,你该这么学!No.1
    探究以太坊 2.0 的分叉选择规则
    Plasma 设计综合列表
    从比特币到 Polkadot
    Ethereum Plasma MVP and Plasma Cash
    Java程序员进阶路线-高级java程序员养成
    matlab混合编程向导(vc,vb,.net...)
    matlab混合编程向导(vc,vb,.net...)
    matlab混合编程向导(vc,vb,.net...)
  • 原文地址:https://www.cnblogs.com/lixv2018/p/12410912.html
Copyright © 2011-2022 走看看