Loading

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:\datax\bin\datax.py D:\datax\job\job.json

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

  

 

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

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

应用

  csv文件写入mysql

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

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

  例如:python D:\datax\bin\datax.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:\datax\bin\datax.py D:\datax\job\write.json

  数据写入完成

 

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

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

 

posted @ 2020-03-04 17:44  李旭2018  阅读(2551)  评论(0编辑  收藏  举报